我找到了这个例子:
回调:
getDetails('Bob', function (err, details) {
console.log(details)
});
承诺:
getDetails('Bob').then(function (details) {
console.log(details);
});
但不适合我。
如何在javascript或angularjs中将回调转换为promises?
谢谢!
答案 0 :(得分:2)
getDetails('Bob').then(function (details) {
console.log(details);
});
仅当getDetails返回一个promise时才能执行此操作。要创建承诺,您需要$ q服务。
所以getDetails应该是这样的:
function getDetails(name){
var defered = $q.defer();
defered.resolve('BobDetails');
return defered.promise;
}
您的回调将在承诺解决时被调用,而作为参数,在此示例中将获得'BobDetails'
。