0

以下代码仅返回 getpricingSummary 的结果集

async.waterfall([
    function(callback){ 
            getpricingSummary(elementsParam, function(workloadinfo) {
            callback(workloadinfo);         
            });
    },
    function(callback){
        getPricingforResourceIdentifiers('vm/hpcloud/nova/small,image/hpcloud/nova/ami-00000075', function(pricingDetail) { 
            callback(pricingDetail);
        });
    }],
    function(result){
        console.log(result);
    });
]);
4

1 回答 1

2

async库遵循常见的 Node.js 模式error-first 回调。

为了表示任务“成功”,第一个参数应该是虚假的(通常null),任何数据都作为第二个或之后的参数。

callback(null, workloadinfo);
callback(null, pricingDetail);
function (error, result) {
    if (error) {
        // handle the error...
    } else {
        console.log(result);
    }
}

另请注意,它旨在将结果从一个任务传递到下一个任务,仅从最终任务(或)async.waterfall()到达。resulterror

如果您想从每个任务中收集结果,请尝试async.series(). 有了它,result将是Array从每个任务传递的数据。

于 2013-08-05T07:10:39.557 回答