Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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异步函数没有';t非块_Javascript_Asynchronous_Async Await_Nonblocking - Fatal编程技术网

JavaScript异步函数没有';t非块

JavaScript异步函数没有';t非块,javascript,asynchronous,async-await,nonblocking,Javascript,Asynchronous,Async Await,Nonblocking,由于异步函数是非阻塞的,我希望下面代码中的asyncfunc不会阻塞,console.log(a)打印为零 var a=0; 常量asyncfunc=async()=>{ 对于(设i=0;i{ a=asyncfunc(); 控制台日志(a); 返回true; }; asyncmain(); 但当我执行时,首先运行asyncfunc中的所有代码,然后编写控制台日志。函数首先被异步函数阻塞 预期:0 实际:承诺{2} 我无法理解这个结果。帮助我理解这个结果 ps 我在node.js v10.15.

由于异步函数是非阻塞的,我希望下面代码中的asyncfunc不会阻塞,console.log(a)打印为零

var a=0;
常量asyncfunc=async()=>{
对于(设i=0;i<100000000;i++){}
a=1;
返回2;
};
const asyncmain=async()=>{
a=asyncfunc();
控制台日志(a);
返回true;
};
asyncmain();
但当我执行时,首先运行asyncfunc中的所有代码,然后编写控制台日志。函数首先被异步函数阻塞

预期:0 实际:承诺{2}

我无法理解这个结果。帮助我理解这个结果

ps
我在node.js v10.15.3上运行了这段代码。如果要使用异步函数的结果,必须使用
wait
子句指定要等待它们使用它

var a=0;
常量asyncfunc=async()=>{
对于(设i=0;i<100000000;i++){}
a=1;
返回2;
};
const asyncmain=async()=>{
a=等待异步函数();
控制台日志(a);
返回true;
};

asyncmain()如果要使用异步函数的结果,必须使用
wait
子句指定要等待它们使用它

var a=0;
常量asyncfunc=async()=>{
对于(设i=0;i<100000000;i++){}
a=1;
返回2;
};
const asyncmain=async()=>{
a=等待异步函数();
控制台日志(a);
返回true;
};

asyncmain()
“由于异步函数是非阻塞的”,这是不正确的。异步函数将同步运行,直到它们遇到
Wait
。这是否回答了您的问题?简单地说,将async关键字放在函数前面意味着函数返回的任何值都将被包装在承诺中。”因为异步函数是非阻塞的,所以这是不正确的。异步函数将同步运行,直到它们遇到
wait
。这是否回答了您的问题?简单地说,将async关键字放在函数前面只是意味着函数返回的任何值都将被包装在一个承诺中。在继续执行
console.log
语句之前,这仍然需要
asuncfunc
完全执行,但是您不能在不等待的情况下使用
a
值。但是OP不是询问如何使用结果,而是询问同步/异步行为。这详细解释了它的工作原理。在继续执行
console.log
语句之前,它仍将执行
asuncfunc
,但是你不能在不等待的情况下使用
a
值。但是OP不是询问如何使用结果,而是询问同步/异步行为。这详细解释了它是如何工作的