Javascript 在另一个函数中调用异步函数是否也会使另一个函数异步?
我想澄清一下。假设我有两个函数。一个是异步函数。如果我在另一个函数中调用该异步函数,该函数调用是否需要wait关键字,因此另一个函数也必须是异步函数Javascript 在另一个函数中调用异步函数是否也会使另一个函数异步?,javascript,async-await,Javascript,Async Await,我想澄清一下。假设我有两个函数。一个是异步函数。如果我在另一个函数中调用该异步函数,该函数调用是否需要wait关键字,因此另一个函数也必须是异步函数 这就是我的思维方式。我以前没有因此而抛出任何错误。否调用异步函数的函数无法通过此异步,因为正常的计算仍在进行。只有等待异步函数的部分会休眠,只要它从异步函数得到一个应答 否则,hole程序将停止并仅等待您的异步答案,这样异步将无法运行。否调用异步函数的函数将无法通过此异步,因为正常计算仍在进行。只有等待异步函数的部分会休眠,只要它从异步函数得到一个
这就是我的思维方式。我以前没有因此而抛出任何错误。否调用异步函数的函数无法通过此异步,因为正常的计算仍在进行。只有等待异步函数的部分会休眠,只要它从异步函数得到一个应答
否则,hole程序将停止并仅等待您的异步答案,这样异步将无法运行。否调用异步函数的函数将无法通过此异步,因为正常计算仍在进行。只有等待异步函数的部分会休眠,只要它从异步函数得到一个应答 否则,hole程序将停止并等待您的异步应答,而异步将无法运行 该函数调用是否需要
await
关键字,因此另一个函数也必须是异步函数
不可以。异步函数只是一个总是返回承诺的函数,它实际上与一个(从外部)返回承诺的普通函数没有什么区别
wait
关键字不是函数调用的修饰符。它只是等待调用返回的承诺值,这适用于任何其他表达式。您还可以像const promise=someFunction()那样将其拆分;const result=等待承诺代码>
该函数调用是否需要await
关键字,因此另一个函数也必须是异步函数
不可以。异步函数
只是一个总是返回承诺的函数,它实际上与一个(从外部)返回承诺的普通函数没有什么区别
wait
关键字不是函数调用的修饰符。它只是等待调用返回的承诺值,这适用于任何其他表达式。您还可以像const promise=someFunction()那样将其拆分;const result=等待承诺
使用async
关键字的函数:
- 将返回一个承诺,该承诺解析为它返回的值
- 支持
关键字,该关键字将使其进入睡眠状态,直到await
关键字右侧的承诺得到解决await
function async foo() {
return 27;
}
function bar() {
const return_value = foo();
}
foo();
foo
将返回解析为27
return\u value
变量将显示承诺的值
除非您想将bar
关键字更改为:
const return_value = await foo();
…这样,
bar
可以进入睡眠状态,直到foo
返回的承诺解析为27
(在这种情况下,返回值将是27
,而不是承诺)。使用async
关键字的函数:
- 将返回一个承诺,该承诺解析为它返回的值
- 支持
await
关键字,该关键字将使其进入睡眠状态,直到await
关键字右侧的承诺得到解决
因此:
function async foo() {
return 27;
}
function bar() {
const return_value = foo();
}
foo();
foo
将返回解析为27
return\u value
变量将显示承诺的值
除非您想将bar
关键字更改为:
const return_value = await foo();
…这样,bar
可以进入睡眠状态,直到foo
返回的承诺解析为27
(在这种情况下,return\u value
将是27
而不是承诺)。您可以显式使用承诺而不是await
。您可以显式使用承诺而不是await
。