ES7 - 如何停止(剪切)异步/等待链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES7 - 如何停止(剪切)异步/等待链接相关的知识,希望对你有一定的参考价值。

如果我在嵌套函数调用中使用async / await函数,我认为async / await函数的调用者应该具有async / await前缀。

例如,在这种情况下:

function a() {
  b();
}
function b() {
  c();
}
function c() {
  d();
}

...

function y() {
  z();
}

如果z是异步函数,那些函数应该是:

async function a() {
  await b();
}
async function b() {
  await c();
}
async function c() {
  await d();
}

...

async function y() {
  await z();
}

何时/如何停止async / await的链接?

答案

async函数只是承诺的语法糖。这是一个返回承诺的函数,应该被视为一个函数。

在某些时候,应该有:

a().catch(...)

或者async IIFE:

(async () => {
  try {
    await a();
  } catch (e) { ... }
})();

以上是关于ES7 - 如何停止(剪切)异步/等待链接的主要内容,如果未能解决你的问题,请参考以下文章

返回一个等待的值返回一个 Promise? (es7 异步/等待)

javascript ES7异步/等待setTimeout的版本

异步操作要了解的ES7的async/await

如何在切换片段时停止 AsyncTask?

ES7的Async/Await的简单理解

ES7中的async和await