且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

返回承诺与返回未定义内部的未定义之间的区别

更新时间:2023-02-22 16:12:11

如果您没有从 then 回调中返回值,则实际上是在返回 undefined .下一个 then 回调将立即运行,并且将 undefined 作为分辨率值.

如果您从 then 回调返回承诺,则第二个 then 回调将等待该承诺(间接地,但这并不重要),以及何时承诺已解决,并从该承诺中获得了解决方案的价值.

(承诺/A +规范中的 then 规范对此进行了说明,但略有遗漏—并没有明确提及 onFulfilled 不返回任何内容会发生什么,但是在JavaScript中,调用函数 always 给出了您将得到一个结果值;如果该函数未显式返回某些内容,则调用它的结果为 undefined .JavaScript没有 void 方法的概念C/C#/C ++/Java.)