一个关于手写promise的问题?

手写到then方法的时候,需要对传入then的函数执行结果有一个判断
这个判断比较复杂,会专门写一个方法来处理
截图里是这个方法的一部分
其中promise2是then返回的primise,x是then中函数的执行结果
如果有很熟悉promise手写的朋友应该看得出的吧~
图片里红框的部分好像是promiseA+规范里的内容是吗?
我想不明白这一步的意义是什么
x如果是一个对象、我怎么知道它有没有then方法、为什么要去取这个then呢
image.png

阅读 2.6k
2 个回答

promiseA+规范里有这个内容,这种数据叫thenable,比如jq的ajax返回的就是这种数据,通俗点的可以看阮老师的promise教程

你哪找的 手写代码 你画红框那个代码有什么意义吗? 就目前图片上的代码来看 红框内容没有任何意义 你要是加了eslint 指不定还会报错

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题