Promise的顺序执行

这个问题在这里已经有了答案:

  • 不承诺只是回调? 7个答案

  • 您可以在不增加嵌套的情况下对承诺进行排序:

    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

    上一篇: Sequential execution of Promise

    下一篇: Callback pyramid even with When Promise