Promise的顺序执行
这个问题在这里已经有了答案:
您可以在不增加嵌套的情况下对承诺进行排序:
app.post('/Billing', function(req, res) {
cart.getBasket(req).then(function(basket) {
return cart.updateBasket(req);
}).then(function() {
return cart.updateDefaultShipment(req);
}).then(function(basket) {
return cart.getBasketObject(basket);
}).then(function(basketObj) {
res.render('billing', {basket: basketObj});
}).catch(function(error) {
console.log(error);
});
});
从.then .then()
返回承诺会自动将其链接到父承诺,该承诺允许您对父承诺使用.then()
处理程序,而不是使用更深的嵌套来继续序列。
这会自动将预先承诺的结果传递给下一个操作,但它不会将所有先前的结果传递给后续的承诺。 如果您需要其他先前的结果,您可以在此处看到各种方式来执行此操作:如何链接并与Promises共享先前的结果
链接地址: http://www.djcxy.com/p/55445.html