我正在調用一個延遲的邏輯的方法,當這個邏輯完成時,我想把值返回給被調用者。見下:如何從延遲中返回值?
//Callee.js
var myAssistant = new Assistant();
console.log(myAssistant.whatIsTheValue());
//Assistant.js
whatIsTheValue : function(someArg) {
var deferred = someService.getSomething();
deferred.then(lang.hitch(this, this._getTheValue));
//In theory, I want to return whatever this._getTheValue returns, how can I do that?!
}
_getTheValue() {
...
...
return xyz;
}
你似乎並沒有理解Deferreds。 – Bergi
我明白了基本概念。我只是沒有看到這個問題的解決方法。 – antonpug
也沒有理由兩次提出相同的問題:http://stackoverflow.com/questions/14260686/how-to-get-a-deferred-handler-to-return-a-value-to-the-calling功能?rq = 1 你會發現你兩次獲得基本相同的答案。 –