node.js - promise中第3个then分别用第一个和第二个then返回的参数该如何写呢?
迷茫
迷茫 2017-04-17 14:41:33
[Node.js讨论组]

testObject

.func1()
.then((result)=>{
    return r1;
})
.then((result1)=>{
    return r2;
})
.then((result2)=>{
    func(r1,r2);
})

请问如果要实现这样的逻辑该如何呢?
阮一峰的原文如下:

then方法返回的是一个新的Promise实例(注意,不是原来那个Promise实例)。因此可以采用链式写法,即then方法后面再调用另一个then方法。

getJSON("/posts.json").then(function(json) {
  return json.post;
}).then(function(post) {
  // ...
});
上面的代码使用then方法,依次指定了两个回调函数。第一个回调函数完成以后,会将返回结果作为参数,传入第二个回调函数。

似乎只是一层一层的传递参数,请问如何将1,2的then传递给3呢,或者一次性传递2个参数。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
天蓬老师

Promise.all

var promise = Promise.resolve(3);
Promise.all([true, promise])
  .then(values => {
    console.log(values); // [true, 3]
  });

https://developer.mozilla.org...

天蓬老师
  1. 通过第二个then传到第三个then。

  2. 设置父级局域变量存储。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号