微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Promise的值穿透特性

今天看promise相关知识,发现值穿透这个特性之前并不太了解,特此记录一下

代码

Promise.resolve(1)
      .then(2) // 注意这里
      .then(Promise.resolve(3))
      .then(console.log)
代码输出结果是1

再看下面代码

Promise.resolve('foo')
    .then(Promise.resolve('bar'))
    .then(function(result){
      console.log(result)
    })
代码输出'foo'

继续看下面代码

Promise.resolve(1)
  .then(function(){return 2})
  .then(Promise.resolve(3))
  .then(console.log)

输出2,没问题

最后一个例子

Promise.resolve(1)
  .then(function(){return 2})
  .then(function(){return Promise.resolve(3)})
  .then(console.log)

输出3

结论:Promise方法链通过return传值,没有return就只是相互独立的任务而已

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐