Promise.all返回空数组

时间:2018-12-18 13:14:56

标签: javascript

我有一系列要与PersonScreen一起运行的请求,但我没有得到const arraysToCheck = [ [1, 2, 3, 4, 5], [1, 2, 8, 9, 9], [1, 2, 2, 3, 2] ] const isSorted = arraysToCheck.map( item => JSON.stringify([...item].sort((a, b) => a - b)) === JSON.stringify(item) ); console.log(isSorted);的回报,不确定为什么...

Promise.all

我想念什么吗? RP是请求承诺库

1 个答案:

答案 0 :(得分:1)

您需要从外部函数返回一个Promise。一旦函数的一部分异步,整个函数就会异步。

类似的事情应该可以解决(用forEach代替map

// using map to create an array of pending requests
const requests = productIdArray.map(id => rp('https://******br' + '/****/v2/api/*****/' + parametersString + pessoaId + '&idProduto=' + id));

// returning a promise
return Promise.all(requests)
  .then(resultados => resultados.map(resultado => ({
        'idProduto': JSON.parse(resultado).content.idProduto,
        'contas': JSON.parse(resultado).content
  })).catch(err => console.log(err));