У меня три записи.Чтобы обновить каждую запись, мне нужно взять значение предыдущей записи.Проблема заключается в том, что когда метод является асинхронной, запись три начинает обновляться до окончания записи два и получает значение null.Как я могу справиться с этим?
const resolvePersons = async (persons) => {
return Promise.all(persons.map(async (person) => {
const data = await getSomePersonData(person);
const value = await getValue(persons); // first person value is statically set
return { data, value };
}));
};
function getSomePersonData(person) {
return new Promise((resolve, reject) => setTimeout(() => resolve({data: someData}), 100);
}
function getValue(persons) {
return new Promise((resolve, reject) => setTimeout(() => resolve(persons[index - 1].value), 100);
}