我使用 D.js 作为我们的 javascript 应用程序的承诺库。以下是我的示例代码:
function getData(deferred) {
var data_one;
// getInfo is returning a promise for async task
getInfo()
.then(function (resp_one) {
data_one = resp_one;
// getInfo2 is also returning another promise
return getInfo2();
})
.then(function (resp_two) {
deferred.resolve('prefix' + data_one + resp_two);
});
};
function sample () {
var d = D(),
data = localStorage.getItem('key');
if (data) {
d.resolve(data);
} else {
getData(d);
}
return d.promise;
}
sample().then(function (data) {
//do something with data.
});
我正在调用示例函数。示例函数和子函数内部的实现是否遵循 Promise 的编码标准?我是新的承诺,将延迟对象传递给其他函数来解决/拒绝是否很好?有没有更好的方法来实现上述功能?
提前致谢..