javascript - 如何在运行其他函数时等待函数中的特定结果
问题描述
我想在等待另一个响应时运行一些代码?
例子:
var obj = {};
await pre(obj);
await first(obj);
await second(obj);
await third(obj);
await function pre(obj) {self.something = "something";}
await function first(obj){...something...}
await function second(obj){...something...}
await function third(obj){...Do something with obj...}
我不知道的是,我如何运行 pre() 并完成其耗时的目标,同时运行 first() 和 second() 和 third() 但第三个将在 pre 完成后运行?
解决方案
您可以Promise.all
在运行之前并行运行所有中间步骤third
:
var obj = {};
await Promise.all([ pre(obj), first(obj), second(obj)]);
await third(obj);
如果我正确理解您的问题,那么在Promise.all
完成时,obj
将包含 running pre
、first
和second
.
小心错误处理以及对obj
对象的非确定性访问。
推荐阅读
- function - db2 - CREATE FUNCTION 中的 CASE WHEN 或 IF 语句
- php - 如何从数据库中的数据中删除标签?
- c++ - 启动/运行外部可执行文件并查看其输出日志
- javascript - Grafana:尝试加载为 XMLHttpRequest 时响应失败
- php - Laravel Markdown 邮件与刀片模板
- php - laravel-er-diagram-generator - Graphviz
- docker - Gitlab-CI,Review Apps,GKE,好方法?
- ios - Swift 中的 POST 参数
- php - mysqli 使用设置变量准备语句
- swing - 需要 JOption(javax.swing) /Jidesoft(com.jidesoft.dialog) 错误对话框的快捷键