I am new to nodejs(Express.js and JavaScript) so kindly excuse me. I have the following code
function lookUpServiceProcessor(element){
return new Promise((resolve, reject) => {
const lookUpService = new LookUpService();
const data = lookUpService.process(element);
resolve(data);
reject(data);
})
}
function keywordServiceProcessor(element){
return new Promise((resolve, reject) => {
const keywordService = new KeywordService(process.env.KEYWORD_SERVICE_HOSTNAME,
process.env.KEYWORD_SERVICE_PORT, process.env.KEYWORD_SERVICE_ENDPOINT);
const data = keywordService.process(element);
resolve(data);
reject(data);
})
}
function patternServiceProcessor(element){
return new Promise((resolve, reject) => {
const patternService = new PatternService(process.env.PATTERN_SERVICE_HOSTNAME,
process.env.PATTERN_SERVICE_PORT, process.env.PATTERN_SERVICE_ENDPOINT);
const data = patternService.process(element);
resolve(data);
reject(data);
})
}
const processEachDocument = (document) => {
return Promise.all([
lookUpServiceProcessor(document),
keywordServiceProcessor(document),
patternServiceProcessor(document)
]);
}
router.post('/extraction', (req, res) => {
result = [];
req.body.map(document => {
processEachDocument(document)
.then(response => result.push(response))
.catch(error => result.push(error));
});
res.send(result);
})
Problem :
Any leads are much appreciated. Thanks
router.post('/extraction', (req, res) => {
result = [];
req.body.map(document => {
(async () => {
const processedDocument = await processEachDocument(document);
await result.push(processedDocument);
})();
});
res.send(result);
})