const deletePromises = ids.map(id => {
return new Promise(resolve => {
return this.delete(id).then(data => resolve(data))
});
});
Вот это бессмысленное использование
new Promise. this.delete(id) это уже промис, так что это код переписываем в
const deletePromises = this.data.map(item => this.delete(item.id));
Дальше то же самое.
return Promise.all(deletePromises).then(() => {
runInAction(() => {
this.data = [];
});
});
А теперь перепишем это на async/await
async deleteAll() {
const deletePromises = this.data.map(item => this.delete(item.id));
await Promise.all(deletePromises);
runInAction(() => {
this.data = [];
});
}
UPD: почитал
https://mobx.js.org/best/actions.html#async-await и исправил