JavaScript中的异步函数

JavaScript中的异步函数

ES8 的 async/await 旨在解决利用异步结构组织代码的问题。为此, ECMAScript 对函数进行了扩展,为其增长了两个新关键字: async 和 await。

async 关键字用于声明异步函数。这个关键字能够用在函数声明、函数表达式、箭头函数和方法上

使用 async 关键字能够让函数具备异步特征,但整体上其代码仍然是同步求值的。而在参数或闭包方面,异步函数仍然具备普通 JavaScript 函数的正常行为

不过,异步函数若是使用 return 关键字返回了值(若是没有 return 则会返回 undefined),这个值会被 Promise.resolve()包装成一个期约对象。异步函数始终返回期约对象。在函数外部调用这个函数能够获得它返回的期约

async function foo() {
			console.log(1);
			return 3;
		}
		foo().then(console.log)
		console.log(2)

2 await

由于异步函数主要针对不会立刻完成的任务,因此天然须要一种暂停和恢复执行的能力。使用 await关键字能够暂停异步函数代码的执行,等待期约解决。

相关文章
相关标签/搜索