Javascript ESNext:What';“async”关键字的用途是什么?

Javascript ESNext:What';“async”关键字的用途是什么?,javascript,async-await,ecmascript-next,Javascript,Async Await,Ecmascript Next,我最近在JavaScript Promise对象中经常使用async/await关键字,我很喜欢它,但我不明白async关键字的真正目的是什么 对于使用wait的函数,为什么必须使用async关键字?标记为async的函数始终返回承诺(与常规函数相反): 当调用async函数时,它返回一个Promise。当async函数返回值时,Promise将使用返回值进行解析。当async函数抛出异常或某个值时,Promise将与抛出的值一起被拒绝 标记为异步的函数始终返回承诺(与常规函数相反): 当调用a

我最近在JavaScript Promise对象中经常使用
async
/
await
关键字,我很喜欢它,但我不明白
async
关键字的真正目的是什么


对于使用
wait
的函数,为什么必须使用
async
关键字?

标记为
async
的函数始终返回承诺(与常规函数相反):

当调用
async
函数时,它返回一个
Promise
。当
async
函数返回值时,
Promise
将使用返回值进行解析。当
async
函数抛出异常或某个值时,
Promise
将与抛出的值一起被拒绝


标记为
异步的函数始终返回承诺(与常规函数相反):

当调用
async
函数时,它返回一个
Promise
。当
async
函数返回值时,
Promise
将使用返回值进行解析。当
async
函数抛出异常或某个值时,
Promise
将与抛出的值一起被拒绝


为了澄清这一点,async是一种语法糖类。它为你节省了一些处理承诺和其他事情所需的打字时间。但最重要的是,async允许您在函数中使用wait关键字。您不能等待非异步函数的任何内容。@netchkin“async是一种语法糖”和“async允许您在函数中使用wait关键字”。这两个词相互矛盾。@zeroplagl:说得好!我确实误用了“句法糖”这个词。我的意思是,如果您手动编写基于承诺的代码,那么可以节省一些键入的时间。它为你节省了一些处理承诺和其他事情所需的打字时间。但最重要的是,async允许您在函数中使用wait关键字。您不能等待非异步函数的任何内容。@netchkin“async是一种语法糖”和“async允许您在函数中使用wait关键字”。这两个词相互矛盾。@zeroplagl:说得好!我确实误用了“句法糖”这个词。我的意思是,如果您手动编写基于承诺的代码,就可以节省一些输入。