我有一系列要与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是请求承诺库
答案 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));