当前位置: 首页 > 面试题库 >

在异步外部使用await

巢皓君
2023-03-14
问题内容

有没有办法使javascript
await关键字在async函数外部起作用?我希望能够冻结整个调用堆栈(而不是仅冻结async函数的其余部分),以便在特定的Promise返回值后可以恢复。令人遗憾的await是,目前尚未确定或尚未实施类似这样的强大功能。我试图使nodent.js正常工作,但是由于我的自定义加载程序和动态功能,不幸的是不切实际。


问题答案:

如果您正在寻找黑客,而不是适当的基于诺言的并发解决方案,请看一下节点光纤(有类似的光纤,但是afaik这是最受欢迎的,围绕它构建了多个抽象)。它的确使您可以暂停任何同步功能中的当前光纤,直到发生在另一根光纤中运行的异步事件为止。当然哪个是一个可怕的主意,但是好吧……



 类似资料:
  • 问题内容: 我试图将两个异步函数链接在一起,因为第一个具有条件返回参数,导致第二个运行或退出模块。但是,我发现规格中找不到奇怪的行为。 这是我的代码的混帐摘要(您可以在此处查看完整的范围),该代码只是检查玩家是否已经在大厅中,但这无关紧要。 接下来,我们有这个异步功能。 如果,则无需运行此功能。 我试着做 我希望这将等待结果,以便可以有条件地运行,但是我收到了没有具体细节的类型错误。 为什么您不能

  • 我已尝试在当前区域外删除脚本: 我得到这个错误:

  • 问题内容: 我有调度动作的功能。我想在操作之前和之后显示一个加载程序。我知道将对象传递给时会做出反应。问题是如何以异步方式更新属性: 基本上,如果我将此属性作为应用程序状态的一部分(使用Redux),那么一切都很好,但是我真的更喜欢将此属性仅带到组件状态。 问题答案: 将其余代码包装在第一个的回调中: 有了这个,你可以保证被设定为之前被调用,并且被设置回。 这假设您的功能是同步的。如果不是,则将其

  • 我在一个函数中有这样的代码块: 它获取一些数据,然后对数据运行验证()。 但是,我对数据的验证实际上也是异步的,因为它是根据一个json模式来验证数据的,而json模式位于一个独立的json文件中,所以它必须首先读取该文件。 我使用了一个承诺来读取文件内容,然后进行验证: 如何编辑此问题中的顶部代码块以解释if语句()中的异步函数?

  • 问题内容: 当前行为 我正在尝试此解决方案https://github.com/jaredpalmer/formik/issues/73#issuecomment-317169770但它总是让我返回 当我尝试有功能。 有解决方案的人吗? -Formik版本:最新-React版本:v16-操作系统:Mac OS 问题答案: 找到了罪魁祸首。 Formik道具不再有。应该将其更改为