Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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 正在等待.then()语句_Javascript_Node.js_Asynchronous - Fatal编程技术网

Javascript 正在等待.then()语句

Javascript 正在等待.then()语句,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,如果我有这个返回声明 return await foo1().then(() => foo2()); 而且foo1和foo2都是异步的,代码是等待foo2的解析还是只等待foo1 谢谢。是,它将等待,因为wait运算符的优先级低于运算符 但是,您的代码未能利用await,它提供了优异的可读性 偏爱 await foo1(); const result = await foo2(); return result; wait等待整个表达式foo1()。然后(…),而不管是什么。这同样适用于

如果我有这个返回声明

return await foo1().then(() => foo2());
而且foo1和foo2都是异步的,代码是等待foo2的解析还是只等待foo1


谢谢。

是,它将等待,因为
wait
运算符的优先级低于
运算符

但是,您的代码未能利用
await
,它提供了优异的可读性

偏爱

await foo1();
const result = await foo2();
return result;

wait
等待整个表达式
foo1()。然后(…)
,而不管
是什么。这同样适用于
然后
-s的链(您在评论中询问了它)。

此外,您实际上不需要
await
,在这里,您只需返回
创建的
承诺
(或一系列承诺),请参阅以获取解释。

返回await somePromise()是一种反模式,因为
wait
somePromise()
的结果包装在新创建的Promise中,该结果本身就是一个Promise


返回somePromise()是正确的形式。

如果承诺返回承诺,则它将成为链的一部分,因此它将同时等待这两个承诺。但是说如果你使用wait,我会放弃then。如果我们有10个,这会是一样的吗。然后?我只是想知道在同一行中使用这两个的行为。谢谢你两个都可以用,但我现在经常用承诺,那时候很少用。但是它仍然派上了用场,例如创建一种程序分叉。。