Я пытаюсь написать лучшую JS инструкцию, чем множество вложенных .then ().
У меня есть конечная точка, которая имеет множество настраиваемых параметров на основе импортированного файла конфигурации.
например: написать в БД, выполнить языковой перевод, выполнить задание XYZ.
Прямо сейчас, он настроен как множество вложенных событий, например:
do TaskA -> then-> do TaskB -> then-> do TaskN
Я пытаюсь перейти к модели, которая больше похожа на
Do TaskA
and
Do TaskB
and
Do TaskN
Однажды все задачи были выполнены, а затем вернуть ответ обратно пользователю.
В моей голове JS выглядит так:
// Example Multi Async Job
app.post('/command/:commandType', (request, response) => {
var responseJSON = {};
responseJSON.status = 500;
responseJSON.success = false;
responseJSON.message = "I failed to do all the things.";
// If needed do language translation
if(config.languageTranslation == true){
async do the language translation
}
// If needed write to DB
if(config.storeDB == true){
async write to the DB
}
// If needed do XYZ task
if(config.xyz == true){
async do the thing
}
// On success of all the tasks, update the responseJSON
responseJSON.status = 200;
responseJSON.success = true;
responseJSON.message = "I did all the things";
// If any of the jobs fail, then the fallback is the 500 and success==false from the beginning
response.status(responseJSON.status).json(responseJSON);
});
Я делаю это с большим количеством обещаний или есть другой способ добиться этого? Спасибо