所以我尝试运行两个都使用异步的重复函数。这两个函数在某些时候都使用异步等待功能。问题是,当一个函数使用 wait 时,它会暂停这两个函数。我该如何阻止这种情况发生,以便当一个函数使用等待时另一个函数不会暂停。谢谢。下面的例子。
const collectInfo = async () => {
return new Promise(async function(resolve, reject) {
// Collect info from the database then
resolve(data);
});
}
const functionOne = async () => {
timeLeft = 5000;
var timerOne = setInterval(async function(){
if(timeLeft === 0){
var getInfTwo = await collectInfo();
console.log(getInfOne);
startFunctionOne();
clearInterval(timerOne);
}
timeLeft--;
}, 10);
}
const functioTwo = async () => {
timeLeft = 10000;
var timerTwo = setInterval(async function(){
if(timeLeft === 0){
var getInfOne = await collectInfo();
console.log(getInfOne);
startFunctionTwo();
clearInterval(timerTwo);
}
timeLeft--;
}, 10);
}
const startFunctionOne = async () => {
functionOne();
}
const startFunctioTwo = async () => {
functioTwo();
}
startFunctionOne();
startFunctioTwo();
最佳答案
请注意,由于您在 functionOne 和 functionTwo 中没有使用关键字 var 或 let 作为变量 timeLeft,因此该变量成为全局变量,因此您在两个函数中使用相同的全局变量。
您无法选择何时“暂停”该函数,它会通过异步自动完成,如果您的两个函数同时启动并且正在等待输入/输出,则无需执行任何操作。
关于node.js - 运行 2 个重复的异步函数,而不在等待时暂停另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51659061/