运行 等待中的其他代码
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
触发。如果没有,就做剩下的。
这可能是个愚蠢的问题,但我目前的项目一直卡在我弄清楚之前。
说我有这个功能。
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
触发。如果没有,就做剩下的。