Promise.all in [removed] How to get resolve value for all promises?

后端 未结 2 1557
再見小時候
再見小時候 2020-12-01 22:02

I wrote the following node.js file:

var csv = require(\'csv-parser\');
var fs = require(\'fs\')
var Promise = require(\'bluebird\');
var filename = \"device         


        
2条回答
  •  悲&欢浪女
    2020-12-01 22:21

    First question

    Promise.all takes an array of promises

    Change:

    Promise.all(read_csv_file("devices.csv"), read_csv_file("bugs.csv"))
    

    to (add [] around arguments)

    Promise.all([read_csv_file("devices.csv"), read_csv_file("bugs.csv")])
    // ---------^-------------------------------------------------------^
    

    Second question

    The Promise.all resolves with an array of results for each of the promises you passed into it.

    This means you can extract the results into variables like:

    Promise.all([read_csv_file("devices.csv"), read_csv_file("bugs.csv")])
      .then(function(results) {
        var first = results[0];  // contents of the first csv file
        var second = results[1]; // contents of the second csv file
      });
    

    You can use ES6+ destructuring to further simplify the code:

    Promise.all([read_csv_file("devices.csv"), read_csv_file("bugs.csv")])
      .then(function([first, second]) {
    
      });
    

提交回复
热议问题