在 2019 年 Javascript 中是否有一种本地方式来执行延期承诺?

Is there a native way to do deffered promises in Javascript in 2019?

这里的这个问题 - 从 2014 年开始 - 概述了执行延期承诺的各种方法:

Resolve Javascript Promise outside function scope

有这个 MDN documentation about Deferred object 确实说有 Promise.defer() - 但它已经过时了。

现在 Javascript 中是否有标准的方法来执行延迟的 Promise?否则我很可能会在那个原始问题中实现 Deffered 对象之一。

Is there a standard way to do a deferred Promise in Javascript now? I'm otherwise likely to implement one of the Deffered objects in that original question.

没有。在 Javascript 的当前版本中没有执行此操作的标准方法。显然,那些指导 Promise 规范的人认为对它的实际需求(Promise 执行器功能根本不起作用的情况)很少见,因此他们宁愿不将其添加到标准中。也可能有人认为,如果他们将它添加到标准中,那么太多人会在不应该使用它的情况下使用它(使用 promise 执行器会产生更好的代码的情况)。显然,这都是某人的意见,但是那些致力于这些标准的人可以决定采用什么意见。

您似乎知道有一些非常简单的变通方法可以定义您自己的变通方法。正如我之前在评论中指出的那样,这里有一些关于该主题的相关帖子,包括解决方法的代码: and .