gpt4 book ai didi

javascript - 我可以指定如何处理异步 javascript 库中的错误吗?

转载 作者:行者123 更新时间:2023-11-30 17:28:02 27 4
gpt4 key购买 nike

我正在尝试清理异步函数的输入。具体来说,在给定 API 凭据列表的情况下,我试图通过向 API 发送测试请求并检查每个请求的结果来过滤掉哪些无效。

我面临的问题是:我想将无效键收集到一个列表中。我通常会使用 async 库按顺序执行请求,使用 series 函数。但是,从文档中:

If any functions in the series pass an error to its callback, no more functions are run, and callback is immediately called with the value of the error.

这不是期望的行为:我想收集错误来代替响应(或两者)。在不改变我与 API 交互的方式的情况下,使用这个库是否可行?

最佳答案

这个问题的解决方案最终有点老套,但效果很好。我有一个 credentials 列表和一个异步函数 apiCall,它看起来像这样:

var apiCall = function(arg, callback){
...
}

解决方案是使用 async 中的 mapSeries,但翻转回调参数,如下所示:

async.mapSeries(credentials, function(creds, callback){
apiCall(creds, function(err, res){
callback(null, err);
});
},
function(nil, errors){
console.log(_.compact(errors));
});

_.compact 从数组中删除虚假元素,摆脱非错误响应返回的 null。这正是我要找的东西。

关于javascript - 我可以指定如何处理异步 javascript 库中的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23831295/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com