首先,我们有async
关键字,您可以将关键字放在函数声明的前面,以将其转换为异步函数。异步函数是一种知道如何预期await
使用关键字调用异步代码的可能性的函数。
尝试在浏览器的JS控制台中输入以下几行:
function hello() { return "Hello" };
hello();
该函数返回“ Hello”-没什么特别的,对吧?
但是,如果我们将其转换为异步函数呢?请尝试以下操作:
async function hello() { return "Hello" };
hello();
啊。现在,调用该函数将返回一个Promise。这是异步函数的特征之一-确保将它们的返回值转换为Promise。
您还可以创建一个异步函数表达式,如下所示:
let hello = async function() { return "Hello" };
hello();
您可以使用箭头功能:
let hello = async () => { return "Hello" };
这些基本上都做同样的事情。
为了实际使用当诺言履行时返回的值,因为它正在返回诺言,我们可以使用一个.then()
块:
hello().then((value) => console.log(value))
甚至只是速记
hello().then(console.log)
就像我们在上一篇文章中看到的一样。
因此,将async
关键字添加到函数中以告诉它们返回promise,而不是直接返回值。此外,这还使同步功能避免了对using的支持运行所带来的任何潜在开销await
。通过仅在函数声明时添加必要的处理async
,JavaScript引擎可以为您优化程序。甜!