Я использую Node JS для разработки API. Ниже приведен код API.
exports.getAllUser = async (req, res) => {
let acoList = [], i=0;
let condaions = {
deleted: 0,
};
let attributes = ['id', 'name', 'email', 'type', 'phone', 'gender', 'main_sys_id', 'avatar', 'in_service', 'created_by']
await Methods.getAllData(User, condaions, attributes).then((userList) => {
if (userList) {
// Methods.successResponse(req, res, userList);
console.log(userList.length, 'length of user')
userList.map(user => {
i = i+1;
if ( user.dataValues.type == 'aco' ) {
let condations = {
aquisition_member_id: user.dataValues.id,
deleted: 0
}
Methods.getDetailsFromTwoAssociateTable(condations, Task, DetailTask).then(task => {
acoList.push(
{
user:user,
task: task
}
)
})
}
// if( i == userList.length-1 ){
// Methods.successResponse(req, res, acoList);
// }
})
}
}).catch((error) => {
ErrorResMethods.errorResponse(req, res, error);
})
setTimeout(() => {
Methods.successResponse(req, res, acoList)
}, 5000);
}
Здесь я попытался реализовать Asyn c для сбора данных, и после сбора данных он даст ответ.
, но используя Asyn c это невозможно. Вот почему я реализовал с помощью setTimeOut ().
Очевидно, что это не очень хорошая практика, но как я могу отправить ответ после выполнения первой задачи.