Имам масив от масиви от обещания, които бих искал да запазя вложени, защото те са начални и крайни координати на местоположението, така че двата набора от координати трябва да останат заедно във вътрешните масиви.
Опитвам се да разреша обещанията, но изглежда не мога да го накарам да работи. Опитвам се да картографирам външния масив, за да изпълня Promise.all върху вътрешните масиви, но не ми дава желания резултат.
Ето моят код:
const promises = idArr.map(route => route.map(id => (this.get(`places/${id}`))));
const places = promises.map(async route => (
await Promise.all(route)
));
Където promises
е:
[
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ],
[ Promise { <pending> }, Promise { <pending> } ]
]
Този код дава резултата:
[
Promise { <pending> },
Promise { <pending> },
Promise { <pending> },
Promise { <pending> },
Promise { <pending> },
Promise { <pending> },
Promise { <pending> },
Promise { <pending> },
Promise { <pending> },
Promise { <pending> }
]
Опитах различни комбинации от картографирани Promise.all, но според мен това трябва да е начинът да го накарам да работи, но очевидно пропускам нещо.
Promise.all(places)
е обещание, което ще бъде разрешено, когато всички вътрешни са. - person raina77ow   schedule 22.09.2020