如何等待多个异步功能完成?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何等待多个异步功能完成?相关的知识,希望对你有一定的参考价值。
我开发了一个类,该类几乎没有用于运行和更新数据库内部数据的功能。我想一次运行10个类的线程,并在其中每个线程完成时开始新的运行(因此,总是有10个或更少的操作在运行)我该怎么办?
代码示例:
const classobj = require("data.js");
let class1 = new Data();
let class2 = new Data();
... //(8 more)
class1.run();
class2.run();
... // (8 more)
// one one of the class1-10 is done i want it to start again
谢谢!
答案
如果Data.run
函数返回Promise,则可以执行以下操作:
const classobj = require("data.js");
const restartingPromise = (promise) => {
promise().then(() => {
restartingPromise();
});
};
let class1 = new Data();
let class2 = new Data();
... //(8 more)
restartingPromise(class1.run);
restartingPromise(class2.run);
...
以上是关于如何等待多个异步功能完成?的主要内容,如果未能解决你的问题,请参考以下文章