运行 等待中的其他代码

Run other code while awaiting

这可能是个愚蠢的问题,但我目前的项目一直卡在我弄清楚之前。

说我有这个功能。

async function AtoB() {
   try{
      await ACheck();
      let quantity = (ABalance - (1 / ABuy));
      quantity = parseFloat(quantity.toFixed(4));
      exchange.createMarketBuyOrder('A/B', quantity)
      trade();
   } catch(err) {
      console.log(err);
   }
}

该函数正在等待另一个名为 ACheck() 的函数,如下所示:

async function ACheck() {
   while(ABalance/ABuy < 10) {
   }
   return true;
}

我的问题是 ABalance 和 ABuy 是在另一个函数中设置的,该函数使用 CCXT 获取它们的值。当 AtoB() 运行s 时,它会停止我设置的每 5 秒调用一次价格函数的 setTimeout。这实际上意味着该函数永远不会 运行 因为 ABalance 和 Abuy 的值永远不会更新。

有什么方法可以 运行 在等待 ACheck() 时价格以相同的 5 秒间隔运行?

提前致谢

如果您想 运行 其他异步操作,则不允许阻塞主线程。

就像现在一样让你的setTimeout运行,当它触发时,计算ABalance/ABuy。如果 Abalance/Abuy < 10,什么也不做,等待下一个 setTimeout 触发。如果没有,就做剩下的。