簡體   English   中英

使用節點異步並行回調

[英]using callback of node async parallel

我幾乎沒有可以並行執行的功能。 使用async.parallel()可以正常工作,但是當收到錯誤時,它將執行主回調。

由於功能是獨立的,因此即使出現錯誤,我仍然希望其他結果。

這是我當前的代碼。 我是否需要另一個async功能?

var async=require('async');
async.parallel({
    one:function(callback)
    {
        callback(null,1);
    },
    two:function(callback)
    {
        callback("ERROR Occured");
    },
    three:function(callback)
    {
        callback(null,3);
    },
    four:function(callback)
    {
        callback(null,4);
    }
},function(err,result)
{
    console.log(err);
    console.log(result);
});

您可以使用reflectAll

var async = require('async');

async.parallel(async.reflectAll([
  function(callback) {
    callback(null,1);
  },
  function(callback) {
    callback("ERROR Occured");
  },
  function(callback) {
    callback(null,3);
  },
  function(callback) {
    callback(null,4);
  }
]), function(err,result) {
  console.log(err);
  console.log(result);
});

這里是如何工作的:

將函數包裝在另一個總是返回數據的函數中,即使它出錯。 返回的對象具有屬性errorvalue

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM