我想构建一个如下的 promise 链。箭头代表依赖关系:B需要A的输出; C 需要 A 和 B 的输出。
由于它不仅仅是一条链,而是一张网,我不知道如何以优雅的方式做到这一点。我的想法是让B的输出包含A的输出,并通过边(B,C)将其全部传递给C。我想这可能不是最好的方法,因为应该有某种方法将 A 的结果直接传递给 C。
最佳答案
如果你真的想向 C 提供独立的 Promise 结果,请尝试这样的事情
var promises = { a: A() };
promises.b = promises.a.then(function(a) {
return B(a);
});
Promise.all(promises).then(function(results) {
C(results.a, results.b);
});
否则,我认为没有问题
A().then(function(a) {
B(a).then(function(b) {
C(a, b);
});
});
但实际上,这只是同一事物的两种写法。
关于javascript - 如何构建涉及多重依赖的 promise 链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793127/