这里的问题 - 从2014年开始 - 概述了做出延期承诺的各种方法:
Resolve Javascript Promise outside function scope
有这个MDN documentation about Deferred object确实说有Promise.defer()
- 但它已经过时了。
现在有一种标准的方法可以在Javascript中执行延期Promise吗?我可能会在原始问题中实现一个Deffered对象。
现在有一种标准的方法可以在Javascript中执行延期Promise吗?我可能会在原始问题中实现一个Deffered对象。
没有。在当前版本的Javascript中没有标准的方法。显然,那些牧养Promise规范的人相信它的实际需要(Promise执行器功能根本不起作用的情况)是非常罕见的,他们宁愿不将它添加到标准中。可能还有一种观点认为,如果他们将其添加到标准中,就会有太多人将其用于不应该使用它的情况(使用promise执行器会产生更好的代码的情况)。显然,这是所有人的意见,但那些按照这些标准工作的人可以决定采用什么样的意见。
您似乎知道有一些非常简单的解决方法来定义您自己的。正如我之前在评论中指出的那样,这里有几个相关的帖子,包括解决方法的代码:When would someone need to create a deferred和Deferred object in ES6。