Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js中的异步循环_Javascript_Node.js_For Loop_Async Await - Fatal编程技术网

Javascript Node.js中的异步循环

Javascript Node.js中的异步循环,javascript,node.js,for-loop,async-await,Javascript,Node.js,For Loop,Async Await,异步函数(文件名){ 试一试{ 让aPayload=''; 让aStream=fs.createReadStream(`./tmp/${fileName}`,'utf8'); 阿斯特拉姆 .on('数据',(块)=>{ aPayload+=块; }) .on('end',async()=>{ 让aJson=JSON.parse(aPayload); 等待(让我们一起来看看阿杰森){ console.log(a.id); 控制台日志(“勾选”); wait dbItems.findOne({id:

异步函数(文件名){
试一试{
让aPayload='';
让aStream=fs.createReadStream(`./tmp/${fileName}`,'utf8');
阿斯特拉姆
.on('数据',(块)=>{
aPayload+=块;
})
.on('end',async()=>{
让aJson=JSON.parse(aPayload);
等待(让我们一起来看看阿杰森){
console.log(a.id);
控制台日志(“勾选”);
wait dbItems.findOne({id:a.id},(err,result)=>{
log(“应该发生什么事了!”);
});
}
});
}捕获(e){
投掷e;
}

}
您不能同时使用等待和回调。 它应该是以下内容之一:

  • 这不会在迭代之前等待结果
  • 应该是你要找的

  • 不能同时使用等待和回调。 它应该是以下内容之一:

  • 这不会在迭代之前等待结果
  • 应该是你要找的

  • “你不能同时使用等待和回调。”你真的做到了。现在我明白了为什么理解承诺、异步和等待是如此的“困难”。@FooBar3098实际上,没有硬性规定说不可能同时使用回调和承诺(异步/等待)。只是
    findOne()
    函数的API设计器没有想到这一点。他可能会想:“哦,你在给我回电话?你可能不想得到承诺。”。虽然公平地说,我决不允许两个人都这么做。这会让人困惑。我该执行哪一个?回拨电话?承诺的
    .then()
    回调?二者都如果两者都是,那么我首先执行哪个,等等。很好的例子:Axios可以很好地与
    配合使用。然后,
    但是MongoDB方法不能。不确定是哪一个或全部,但至少findOne
    。那么
    是一个未定义的方法。“你不能同时使用wait和callbacks。”你确实做到了。现在我明白了为什么理解承诺、异步和等待是如此的“困难”。@FooBar3098实际上,没有硬性规定说不可能同时使用回调和承诺(异步/等待)。只是
    findOne()
    函数的API设计器没有想到这一点。他可能会想:“哦,你在给我回电话?你可能不想得到承诺。”。虽然公平地说,我决不允许两个人都这么做。这会让人困惑。我该执行哪一个?回拨电话?承诺的
    .then()
    回调?二者都如果两者都是,那么我首先执行哪个,等等。很好的例子:Axios可以很好地与
    配合使用。然后,
    但是MongoDB方法不能。不确定哪一个或全部,但至少findOne
    。那么
    是一个未定义的方法。
                        dbItems.findOne({id: a.id}, (err, result) => {
                            console.log("Something Should Happen!");
                        });
    
                        const result = await dbItems.findOne({id: a.id})
                        console.log("Something Should Happen!");