我想要一个 promise ,当两个 promise promise1和promise2都得到解决时,它本身就会解决。我该怎么做?
这是我当前的可怕代码:
var c = 0;
var d = $.Deferred();
promise1.then(() => {
c++;
if (c == 2) {
d.resolve();
}
});
promise2.then(() => {
c++;
if (c == 2) {
d.resolve();
}
});
return d.promise();
有我可以调用的辅助函数吗?
最佳答案
使用.when
类似于
$.when(promise1, promise2).then(function() { /* do something */ });
这将使您可以将一个或多个延迟问题分组,并仅在它们全部解决后才执行某些操作。或者如果其中任何一个失败,则调用 failCallback
。
当主延迟解析时,它将传递所有组件延迟的解析值。
关于jquery - 如何与 jquery promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25144981/