如何调用包含链式承诺的函数
How to call a function containing chained promises
我正在使用 promises 和 Q js 库链接多个异步函数调用。我当前的代码如下所示:
function user() {
getID()
.then(getName);
}
function getID() {
var deferred = Q.defer();
asyncCall(arg, function(data) {
deferred.resolve(data);
});
return deffered.promise;
}
function getName(ID) {
var deferred = Q.defer();
asyncCall2(arg, function(data) {
deferred.resolve(data);
});
return deffered.promise;
}
我正在尝试从不同的位置调用 user() 并将其作为 return getName 的结果,但我不确定如何执行此操作。
只是 return 值(它本身就是一个承诺):
function user() {
return getID().then(getName);
}
以后您可以将其用作其余代码:
user().then(function(result) {});
我正在使用 promises 和 Q js 库链接多个异步函数调用。我当前的代码如下所示:
function user() {
getID()
.then(getName);
}
function getID() {
var deferred = Q.defer();
asyncCall(arg, function(data) {
deferred.resolve(data);
});
return deffered.promise;
}
function getName(ID) {
var deferred = Q.defer();
asyncCall2(arg, function(data) {
deferred.resolve(data);
});
return deffered.promise;
}
我正在尝试从不同的位置调用 user() 并将其作为 return getName 的结果,但我不确定如何执行此操作。
只是 return 值(它本身就是一个承诺):
function user() {
return getID().then(getName);
}
以后您可以将其用作其余代码:
user().then(function(result) {});