gpt4 book ai didi

javascript - Node.JS 和同步数据库查询

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:01 26 4
gpt4 key购买 nike

在 Node.js 应用程序中,我需要执行以下操作:(当然是伪代码)

if(loadedData is empty){
loadDatafromDatabase <<---- this one is async
}
useLoadedData

当然,从数据库加载数据是一个异步过程,因此 useLoadedData 尝试在加载完成之前使用数据。在继续之前,有什么干净的方法可以等待 loadDataFromDatabase 返回其结果吗?

我看到很多人提到回调是正确的解决方案,所以我想做类似的事情:

if(loadedData is empty){
loadDataFromDatabase( callback useLoadedData )
}else{
useLoadedData
}

但对我来说它看起来很脏。还有更好的方法吗?

谢谢!

最佳答案

如果您同意包含 Node 纤维,您可以尝试 wait.for

https://github.com/luciotato/waitfor

var wait=require('wait.for');

function process(){
if(!data){
data = wait.for(loadDatafromDatabase);
// loadDatafromDatabase is *standard* async
// wait.for will pause the fiber until callback
}
useLoadedData(data);
}

wait.launchFiber(process);

关于javascript - Node.JS 和同步数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25492335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com