我正在使用let loadPromise = Q.nfcall(m.loadObj,data);
包进行异步调用:
m
class Base {
constructor() {
this._name = null;;
}
loadObj(data) {
this._name = data;
}
}
是此类的一个实例:
this
输入undefined
方法后问题是loadObj
为Q
。
如loadObj
wiki中所述:
如果您正在使用方法而不是简单的函数,则可以 容易遇到将方法传递给另一个方法的常见问题 类似函数Q.nfcall-从其所有者“取消绑定”该方法。避免 这个,你可以使用Function.prototype.bind
如何将正确的上下文绑定到public function companyStatus()
{
return $this->hasOne('CompanyUser')->select('status', 'user_id');
}
and it now returns the following:
方法?
答案 0 :(得分:0)
正如Q的文档所述 - 你可以使用ninvoke
来避免像这样的绑定:
let loadPromise = Q.ninvoke(m, 'loadObj', data);
显然,你也可以在这里重新绑定:
let loadPromise = Q.nfcall(m.loadObj.bind(m), data);