我正在努力将上下文“ this”从控制器中的原型函数传递到同一控制器中的私有函数。浏览器控制台抛出错误“无法读取未定义的属性'callSomeService'”。我的代码看起来像-
MyController.prototype.somemethod = function (){
return somePrivateFunction()
.then(function (resultsFromsomePrivateFunction){
return someAnotherPrivateFunction(resultsFromsomePrivateFunction)
});
}
function somePrivateFunction(){
this.callSomeService()
.then(function (results) {
return results
});
}
function someAnotherPrivateFunction(){
//dosomething
}
有人可以帮忙吗?
最佳答案
您可以使用call
或apply
设置上下文。
return somePrivateFunction.call(this).then(...)
要么
return somePrivateFunction.apply(this).then(...)
关于javascript - Javascript将“this”从原型(prototype)传递到另一个函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39716383/