Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 1.48 KB

README.md

File metadata and controls

48 lines (34 loc) · 1.48 KB

Async 函数

async 函数 由 Brian Terlson 提出。

async 函数有如下形式:

  • 函数声明: async function foo() {};
  • 函数表达式: const foo = async function() {};
  • 方法定义: let obj = { async foo() {} };
  • 箭头函数: const foo = async () => {};

async 函数总会返回 Promise 实例。

/** 返回一个 fulfilling 实例 */
async function asyncFunc() {
  return 123;
}

asyncFunc()
  .then(x => console.log(x))

/** 返回一个 rejecting 实例 */
async function asyncFunc() {
  throw new Error('Problem!')
}

asyncFunc()
  .catch(err => console.log(err))

await

await 操作符可等待 Promise,其只能在 async 函数内使用。用法如下:

[rv] = await expression

其中,expressionPromise 对象或任何数值。rvPromise 成功后的固定值或者其他数值本身(当 expression 不是 Promise 类型时)。

References