小编Mic*_*ler的帖子

无法捕获 for wait of 循环中的错误

我正在阅读MDN 上描述的“for wait of循环” 。它看起来令人印象深刻,所以我玩了一些代码,但令人惊讶的是我无法捕获那里抛出的错误。

'use strict';

const main = async() => {
  const bar = [];
  bar.push(new Promise((res) => { setTimeout(() => res(1), 1200); }));
  bar.push(new Promise((res) => { setTimeout(() => res(2), 800); }));
  bar.push(new Promise((res, rej) => { setTimeout(() => rej(3), 200); }));

  try {
    for await (const foo of bar) {
      console.log('hey', foo);
    }
  } catch (err) {
    console.error('err', err);
  }
};

main();
Run Code Online (Sandbox Code Playgroud)

我的输出主要是像我预期的那样。但我不明白,为什么我会收到 UnhandledPromiseRejection?我什至没有发现那个错误吗?

$> node await-loop.js 
(node:10704) UnhandledPromiseRejectionWarning: 3
(node:10704) UnhandledPromiseRejectionWarning: Unhandled promise …
Run Code Online (Sandbox Code Playgroud)

node.js async-await

5
推荐指数
1
解决办法
2423
查看次数

标签 统计

async-await ×1

node.js ×1