为了账号安全,请及时绑定邮箱和手机立即绑定

promise 使用的疑问

promise 使用的疑问

呼啦一阵风 2018-11-08 14:15:20
function test() {    return new Promise((resolve, reject)=>{        resolve(123);    });}test().then((a)=>{    console.log(a);}).then(function (b) {    console.log(b);//这行代码被执行了});then的第一个参数方法应该是promise在resolve的情况下执行,可console.log(b)居然被执行了,这是为啥
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

不请自来怒答一记!

在 Promise 中,.then( func ) 会返回一个新的 Promise 实例,这个实例的结果,是把函数体 func 的结果通过执行 Promise.resolve() 得到的。所以在你的问题里,console.log(a) 没有返回值,相当于 Promise.resolve(null) 得到一个状态为 resolved 的 Promise 实例,所以就会继续执行下一步了。

关于 Promise,推荐你看我的教程:Promise 的 N 种用法 里面有非常详细的讲解,基本上能回答关于 Promise 的所有问题。


查看完整回答
反对 回复 2018-12-12
  • 1 回答
  • 0 关注
  • 465 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信