美文网首页代码世界
node.js Promise链的参数传递

node.js Promise链的参数传递

作者: CodingCode | 来源:发表于2018-03-15 12:19 被阅读10次

node.js Promise链的参数传递

介绍Promise链如何把前一个Promise的返回结果传给后一个Promise作为参数。

基本原则

  1. Promise链由then()和catch()组成,then()和catch()的返回值也是一个Promise对象这样才能构成一个Promise链;类似:
   Promise Promise.then(function callback(param) { });
   Promise Promise.catch(function callback(param) {});
  1. 在Promise链中前一个callback函数返回值,作为后一个Promise的then()函数参数
promise1.then(function callback1(param1) { return value1; })
        .then(function callback2(param2) { ... })

函数callback1的返回值value1作为函数callback2的参数param2,也就是 value1 == param2

  1. 在Promise链中前一个callback函数返回值如果是一个Promise对象,那么不会把这个Promise对象直接传给后一个
    Promise的then()函数参数,而是把Promise的resolve()值传给后一个Promise
promise1.then(function callback1(param1) { return new Promise((resolve, reject) => { resolve(value2); }); })
        .then(function callback2(param2) { ...})

函数callback1的返回值Promise的resolve对象作为函数callback2的参数param2,也就是 value2 == param2

相关文章

网友评论

    本文标题:node.js Promise链的参数传递

    本文链接:https://www.haomeiwen.com/subject/dhxhqftx.html