请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

then链式操作疑问

讲师的《深入理解js异步》博客中,曾有这么一段话,"如果then有链式调用,前面步骤返回的值,会被后面的步骤获取到。但是,如果前面步骤返回值是一个Promise的话,情况就不一样了,后面的then将会被当做这个返回的promise的第一个then对待" 从这句话可以分析出,then返回的不一定是一个promise实例,例如可以基本数据类型,但是promise标准中,又强调then返回的必须是一个promise实例,而不能是其他类型。对此造成了困惑,请讲师解惑,谢谢

正在回答

插入代码

2回答

promise中,then里面的函数是注册函数,如果注册函数返回的不是promise。最终也会被包装成promise

1 回复 有任何疑惑可以回复我~
  • 提问者 慕粉18380451249 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-05-20 22:55:08
  • 如果then里的注册回调是一个异步执行的任务,如果里面不加promise包裹的话,也还是没办法保证执行顺序的
    回复 有任何疑惑可以回复我~ 2019-06-25 21:01:15
双越 2018-05-20 20:49:39

如 @Jesse1990 同学的答复,then 返回的肯定是一个 promise ,你应该是把这一点和 then 内部注册函数的返回值给弄混了。你的问题 http://coding.imooc.com/learn/questiondetail/58972.html 我也答复了,一个意思。

再有问题可继续回复哈。感觉教程有帮助,欢迎给一个好评。

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号