node.js - 等待时运行其他代码

标签 node.js asynchronous trading cryptocurrency

这可能是一个愚蠢的问题,但我当前的项目一直陷入困境,直到我弄清楚为止。

说我有这个功能。

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() 运行时,它会停止我设置的每 5 秒调用价格函数的 setTimeout。这实际上意味着该函数永远不会运行,因为 ABalance 和 Abuy 的值永远不会更新。

有没有办法在等待 ACheck() 的同时以相同的 5 秒间隔运行价格函数?

提前致谢

最佳答案

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

只要有你的 setTimeout像现在一样运行,当它触发时,计算 ABalance/ABuy 。如果Abalance/Abuy < 10 ,什么也不做,等待下一步 setTimeout开火。如果没有,则执行其余操作。

关于node.js - 等待时运行其他代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49310133/

相关文章:

python - 买入更高价格时保持最低平均利润

node.js - 使用 NodeJS 将文件保存在 Snap (Snapcraft) 中

Perl:通过 mojolicious 的异步 http 代理

node.js - 异步运行三个函数并等待三个函数完成

python - 如何使用 Binance API 和 Python-CCXT 下百分比订单?

c# - 技术分析 - 抛物线停止和反向指标

javascript - 当所有组件都在一个文件中时,Angular App 可以正常工作,但当组件位于单独的文件中时,会抛出 'nomod' 错误

javascript - 如何将用户输入打印到控制台?

javascript - 尝试根据 Node.js 的 URL 更改周长

c# - 如何正确调用Main中的await方法?