侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 129122 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

【转】promise chain 中如何传递参数

2024-04-28 星期日 / 0 评论 / 0 点赞 / 2 阅读 / 1464 字

原文:http://liubin.org/promises-book/#ch2-promise.then 如果 Task A 想给 Task B 传递一个参数该怎么办呢? 答案非常简单,那就是在 Ta

原文:http://liubin.org/promises-book/#ch2-promise.then

如果 Task A 想给 Task B 传递一个参数该怎么办呢?

答案非常简单,那就是在 Task A 中 return 的返回值,会在 Task B 执行时传给它。

我们还是先来看一个具体例子吧。

function doubleUp(value) {    return value * 2;}function increment(value) {    return value + 1;}function output(value) {    console.log(value);// => (1 + 1) * 2}var promise = Promise.resolve(1);promise    .then(increment)    .then(doubleUp)    .then(output)    .catch(function(error){        // promise chain中出现异常的时候会被调用        console.error(error);    });

这段代码的入口函数是 Promise.resolve(1); ,整体的promise chain执行流程如下所示。

  1. Promise.resolve(1); 传递 1 给 increment 函数

  2. 函数 increment 对接收的参数进行 +1 操作并返回(通过return

  3. 这时参数变为2,并再次传给 doubleUp 函数

  4. 最后在函数 output 中打印结果

广告 广告

评论区