I 認爲這與涉及this
和bind
的許多其他問題不同。值得注意的是How to access the correct `this` context inside a callback?如何使用對象的屬性設置具有回調函數的另一個屬性
我有一個使用該對象屬性的對象上的方法,並進行ajax調用。我希望該值存儲在新的屬性對象中。我只是不確定如何將回調函數分配給屬性。
構造:
congressMember.prototype.getMember =
function() {
govTrack.findRole({ current: true, state: this.state, district: this.district }, function(err, res) {
if (!err) {
return res.objects[0].person // this won't work
}
})
}
然後,我想打一個新的實例:var myHouseRep = new congressMember('WY', 1);
這個問題是不是與this
而是所獲得的價值「出來的原型
function congressMember(state, district) {
this.state = state
this.district = district
}
方法的回調。
試圖保持過程透明,這裏是一個第二刺:
function foo(state, district, fn) {
govTrack.findRole({ current: true, state: state, district: district }, function(err, res) {
if (!err) {
fn(res.objects[0].person)
} else {
console.log('error')
}
})
}
congressMember.prototype.getDetails =
function() {
_this = this
foo(this.state, this.district, function(cb) {
_this.details = cb
})
}
哪些屬性是你試圖設置的? – Agalo
我想添加另一個屬性。我將更新這個問題 – icicleking