我可以将回调转换为承诺吗?
这个问题在这里已经有了答案:
getDetails('Bob').then(function (details) {
console.log(details);
});
只有在getDetails返回一个承诺时,这项工作才会生效。 要创建承诺,您需要$ q服务。
所以getDetails应该如下所示:
function getDetails(name){
var defered = $q.defer();
defered.resolve('BobDetails');
return defered.promise;
}
你的回调将在promise被解析时被调用,并且在这个例子中param会得到'BobDetails'
。