既然我们可以throw在Javascript中使用关键字抛出任何内容,那么我们不能直接抛出错误消息字符串吗?
有谁知道这有什么捕获?
让我为此添加一些背景:很多时候,在JavaScript世界中,人们依赖于参数检查而不是使用try-catch机制,所以只抛出致命错误才有意义throw.仍然,为了能够捕获一些系统错误,我必须为我自己的错误使用不同的类,而不是创建Error的子类,我想我应该只使用String.
我正在使用该async.eachLimit功能一次控制最大操作数.
const { eachLimit } = require("async");
function myFunction() {
return new Promise(async (resolve, reject) => {
eachLimit((await getAsyncArray), 500, (item, callback) => {
// do other things that use native promises.
}, (error) => {
if (error) return reject(error);
// resolve here passing the next value.
});
});
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我无法将该myFunction函数声明为异步,因为我无法访问eachLimit函数的第二个回调内的值.