我使用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()并让它返回getName的结果但不知道如何执行此操作。
答案 0 :(得分:3)
只返回值(这是一个承诺本身):
function user() {
return getID().then(getName);
}
以后您可以将其用作代码的其余部分:
user().then(function(result) {});