为什么我的Promise.then()里面的函数中参数能够拿到reject的值?
.then又返回了一个新的Promise,你看到的是这个新的Promise,里面的reject
.then
reject
你并没有“拿到” reject 的值。可以在打印语句前面加上 prefix,例如使用这样的语句:
prefix
p.then(data => console.log('data is now:', data));
这样的话console.log有没有执行,一目了然。至于你看到的那个 Promise,不过是控制台将你的输入的上一个语句的返回值显示出来了而已;红色的是抛错,和打印也没有关系。
console.log
Promise
当执行resolve或者reject后就改变了状态,从而只能执行对应的回调, Promise.then() 是执行不了里面的回调的, 所以不是拿到了reject的值,而是浏览器控制台console默认输出了Promise.then() 的返回值
resolve
Promise.then()
console
推荐自己去搜索相关Promise的资料,如https://segmentfault.com/a/11...
改成console.log(">_<", data)你再看看?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(4)
.then
又返回了一个新的Promise,你看到的是这个新的Promise,里面的
reject
你并没有“拿到”
reject
的值。可以在打印语句前面加上
prefix
,例如使用这样的语句:这样的话
console.log
有没有执行,一目了然。至于你看到的那个
Promise
,不过是控制台将你的输入的上一个语句的返回值显示出来了而已;红色的是抛错,和打印也没有关系。
当执行
resolve
或者reject
后就改变了状态,从而只能执行对应的回调,Promise.then()
是执行不了里面的回调的, 所以不是拿到了reject
的值,而是浏览器控制台console
默认输出了Promise.then()
的返回值推荐自己去搜索相关
Promise
的资料,如https://segmentfault.com/a/11...改成console.log(">_<", data)你再看看?