微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何决定在异步方法的 async.parallel 数组中包含哪些方法以及拒绝哪些方法

如何解决我如何决定在异步方法的 async.parallel 数组中包含哪些方法以及拒绝哪些方法

我们正在使用 Async 库的 parallel() 方法进行并行异步 API 调用。所以代码有点像这样:

async.parallel({
    a: (callback)=> aHelper(searchValue,callback),b: (callback) => bHelper(searchValue,c: (callback) => cHelper(searchValue,null,callback)
},function (error,result){
    console.log("Error",error)
    console.log("Results",result)
})

现在,我们想在这里添加一个案例。我们将为传递给并行方法的每个值添加一个检查。假设我只想要“a”和“c”的响应(根据代码),在这种情况下如何避免调用“b”? 为此,我们尝试了不同的方法

ParallelAsync.parallel({
    a: (callback)=> {true ? aHelper(searchValue,callback) : callback(true,null)},b: (callback)=> {false ? bHelper(searchValue,c: (callback) => {true ? cHelper(searchValue,callback): callback(true,null)}
},result)
})

我们尝试了这个,但是根据 async's parallel 方法的文档,如果我们的任何方法是同步的(在这种情况下,它是 callback(true,null) ),流程将同步执行.我也尝试将 callback(true,null) 作为承诺响应,代码仍然以同步方式执行。

这个问题有什么解决办法吗?

参考

  1. 异步文档 --> https://caolan.github.io/async/v3/docs.html#parallel

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。