I'm trying to do async/await inside async.parallel, but can't call callback. But if i remove async/await, the callback can be call. Below is the code
let parallelFunc = listCamId.map(camId => {
return async function (callback) {
let insertRuleTransParam = {
rule_id: ruleId,
camera_id: camId,
vas_id: vasId,
additional_parameter: additionalParameter
}
let configParamCamera = { where: { id: camId } };
let configParamRule = { where: { id: ruleId } };
try {
let ruleTrans = await createRuleTransaction(insertRuleTransParam);
let rule = await ruleService.find(configParamRule, "one");
let cam = await cameraService.find(configParamCamera, "one");
let uri = await constructCamUri(cam.protocol, cam.user_access, cam.password, cam.ip_address, cam.port, cam.path);
let visionParam = await startVasRule(vasId, ruleTrans.id, camId, rule.rule_path, rule.rule_exec, uri);
let updateRuleParam = {
port_stream: visionParam.port,
url_stream: visionParam.url,
mmap_in: visionParam.mmap_in,
mmap_out: visionParam.mmap_out
}
await updateRuleTransaction(updateRuleParam);
callback(null);
} catch (e) {
callback(e);
}
}
})
return new Promise((resolve, reject) => {
async.parallel(parallelFunc, function (err, results) {
if (err) {
reject(err);
} else {
resolve('success');
}
})
});
can someone point out whats wrong with the code?
async.jslibrary together with promises, even less withasync/awaitsyntax.async.jsbecame moot with the introduction of promises to the specification.