异步关键字
首先,我们有async
关键字,您可以将关键字放在函数声明的前面,以将其转换为异步函数。异步函数是一种知道如何预期await
使用关键字调用异步代码的可能性的函数。
尝试在浏览器的JS控制台中输入以下几行:
1 2 | function hello() { return "Hello" }; hello(); |
该函数返回“ Hello”-没什么特别的,对吧?
但是,如果我们将其转换为异步函数呢?请尝试以下操作:
1 2 | async function hello() { return "Hello" }; hello(); |
啊。现在,调用该函数将返回一个Promise。这是异步函数的特征之一-确保将它们的返回值转换为Promise。
您还可以创建一个异步函数表达式,如下所示:
1 2 | let hello = async function () { return "Hello" }; hello(); |
您可以使用箭头功能:
1 | let hello = async () => { return "Hello" }; |
这些基本上都做同样的事情。
为了实际使用当诺言履行时返回的值,因为它正在返回诺言,我们可以使用一个.then()
块:
1 | hello().then((value) => console.log(value)) |
甚至只是速记
1 | hello().then(console.log) |
就像我们在上一篇文章中看到的一样。
因此,将async
关键字添加到函数中以告诉它们返回promise,而不是直接返回值。此外,这还使同步功能避免了对using的支持运行所带来的任何潜在开销await
。通过仅在函数声明时添加必要的处理async
,JavaScript引擎可以为您优化程序。甜!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(二):用.NET IoT库
· 几个自学项目的通病,别因为它们浪费了时间!
· 在外漂泊的这几年总结和感悟,展望未来
· .NET 数据拷贝方案选择
· .net工作流elsa-书签
2019-10-22 php数组长度怎么获取