Javascript 异步函数和承诺执行逻辑

Javascript 异步函数和承诺执行逻辑,javascript,async-await,es6-promise,Javascript,Async Await,Es6 Promise,我试图弄清楚Node.js(v10.14.2)是如何处理以下代码的。特别是为什么控制台日志消息“Error shown”显示在“async 10”之前 const promise=promise.resolve(10); const process=async()=>{ 让瓦尔等待承诺; log('async'+val); }; const buggy=async()=>{ 抛出新错误(“抛出错误”); }; 过程(); buggy().catch(err=>console.log(err.m

我试图弄清楚Node.js(v10.14.2)是如何处理以下代码的。特别是为什么控制台日志消息“Error shown”显示在“async 10”之前

const promise=promise.resolve(10);
const process=async()=>{
让瓦尔等待承诺;
log('async'+val);
};
const buggy=async()=>{
抛出新错误(“抛出错误”);
};
过程();

buggy().catch(err=>console.log(err.message))欢迎来到SO!回答关于JavaScript异步行为的问题。“为什么控制台日志消息‘Error shown’显示在‘async 10’之前-不适用于Firefox、Chrome和(基于Chrome的)Edge(至少不适用于我的机器)。这种行为在node js中会有所不同,因为承诺在node js中有单独的队列。请参见-您无法按照所有这些的顺序进行计划。异步行为是不可预测的,因为每个线程都将处理自己的工作,一个线程可以提前完成,另一个线程也可以。我已经在节点v10.14.2上执行了代码欢迎使用SO!回答关于JavaScript异步行为的问题。“为什么控制台日志消息‘Error shown’显示在‘async 10’之前-不适用于Firefox、Chrome和(基于Chrome的)Edge(至少不适用于我的机器)。这种行为在node js中会有所不同,因为承诺在node js中有单独的队列。请参见-您无法按照所有这些的顺序进行计划。异步行为是不可预测的,因为每个线程都将处理自己的工作,一个线程可以提前完成,另一个线程也可以