我想我可能会遗漏一些明显的东西,但是如果我有一个带有几个函数的对象,例如:
myFunctions = {
getLastName: function() { return " Bloggs"; },
getName: function(prefix) { return prefix + this.getLastName(); }
};
...当我用promise语法调用它时,我怎么能确保'this'引用getName()中的对象,即:
q.fapply(myFunctions.getName, ['Mr.'])
.then(function(fullName) {
...
});
目前,当通过q.fapply()
调用时,'this'只是全局范围答案 0 :(得分:0)
改为使用Q.post
,
var myFunctions = {
getLastName: function() { return " Bloggs"; },
getName: function(prefix) { return prefix + this.getLastName(); }
};
Q.post(myFunctions, 'getName', ['Mr.'])
.then(function(fullName) {
alert(fullName);
});