Skip to content Skip to sidebar Skip to footer

Promise.all Is Returning An Array Of Undefined

I am having trouble with function returning an array of undefined. Here is code: classMethods.getQueries = function(models, dbId, dateStart, dateEnd) { return new Promise(functi

Solution 1:

It's because you're not returning any promise in your map's callback:

functionaddText(queries) {
  returnPromise.all(queries.map(function(query) {
    // add return here or the map returns an array of undefinedreturn models.queries
      .findById(query.queryId, {
        raw: true,
        attributes: ['query']
      })
      .then(function(queryFetched) {
        query.text = queryFetched.query;
        console.log(query);
        returnPromise.resolve(query);
      }, function(error) {
        returnPromise.reject(error);
      });

  }));
};

Solution 2:

So here the solution of my problem:

functionaddText(queries) {
  returnPromise.all(queries.map(function(query) {
    returnnewPromise(function(resolve, reject) {

      models.queries.findById(query.queryId, { raw: true, attributes: ['query'] })
      .then(function(queryFetched) {
         query.text = queryFetched.query;
         resolve(query);
      }, reject);

    });
  }));
};

Post a Comment for "Promise.all Is Returning An Array Of Undefined"