У нас есть проект, в котором нам нужно обработать ~ 5000 объектов, и каждый объект обрабатывается по 200-500 миллисекунд. Разработчик из моей команды предложил использовать обещания, чтобы попытаться обработать каждый объект одновременно. В общем, как-то так:
let result = await Promise.all(objects.map(o => process(o));
Код process()
может выглядеть следующим образом:
async process(theObject) {
return new Promise(resolve => {
1 + 1 = 2;
resolve();
});
}
Несмотря на то, что это похоже на честный шаблон, оно похоже на анти-шаблон или запах кода. Также кажется, что Node / V8 обрабатывает обещания, что может привести к серьезным проблемам позже. У кого-нибудь есть мысли по поводу этого паттерна и может ли он быть полезным / менее?