Q / promises - 使用fapply时指定'this'

时间:2015-03-29 22:42:27

标签: this q

我想我可能会遗漏一些明显的东西,但是如果我有一个带有几个函数的对象,例如:

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'只是全局范围

1 个答案:

答案 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);
  });