NodeJS - 在 Sails.js 中抛出嵌套循环



我是NodeJS和Sails的新手.js。像这里这样运行API脚本时我卡住了:

try{
for(let i = 0 ; i < 10 ; i++ ) {
for(let j = 0; j < 10; j++) {
await doSomething(); // asume the API using async
throw 'a';  
}
}
} catch (e) {
return e;
}

当我第一次运行脚本时,它还可以(运行良好(,但是当我第二次运行时,它卡住了(没有返回(。当我检查控制台时,没有出现错误。

如果我重新启动 API,它将再次工作。

我的脚本会怎样?谁能解释一下?为什么它只运行 1 次(返回 a(,但当我在没有先重新启动的情况下再次调用 API 时无法再次启动

你应该抛出错误而不是字符串,所以你的可能看起来像这样

throw new Error('a')

此外,脚本在第一次循环后不会继续,因为您正在抛出。

我希望它不会卡住。它将返回字符串'a'。您可以通过添加console.log来检查这一点

try {
for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
throw 'a';
}
}
} catch (e) {
console.log('Error: ', e);
return e;
}

这将始终打印Error: areturn 'a'

注意:如前所述,您应该throw new Error而不是字符串'a'

如果你想在条件下打破循环。只需设置i = 11; j = 11;

最新更新