Я получаю данные josn от импорта метода xls в joson в nodejs.И мне нужно создать две таблицы данных одновременно, когда другой таблице нужен первый идентификатор таблицы для создания данных.
Я попытался asyncfunction с setTimeout для создания данных.
Это как рабочий. Но он не подходит для более 1000 записей
const asyncFunction = (item, cb) => {
setTimeout(() => {
const tempDate = item.dateOfBirth.split('/');
const login = {
firstName: item.firstName,
lastName: item.lastName,
email: item.email,
mobile: item.mobile,
gender: item.gender,
dateOfBirth: moment(new Date(`${tempDate[1]}/${tempDate[0]}/${tempDate[2]}`)).toISOString(),
city: item.city,
pincode: item.pincode,
state: item.state,
country: item.country,
roleId: 3,
address: item.address,
branchId: req.body.branchId,
batchId: req.body.batchId,
};
Login.create(login).then((log) => {
const alumni = {
register_number:item.registerNumber ,
about: item.about,
loginId: log.id,
};
Alumni.create(alumni).then(() => {
console.log('sucesss');
cb(item);
}).catch(Sequelize.ValidationError, (errorin) => {
res.status(400).send(errorin);
});
}).catch(Sequelize.ValidationError, (errorin) => {
});
}, 3000);
};
const requests = result.map(item => new Promise((resolve) => {
asyncFunction(item, resolve);
}));
Promise.all(requests).then((data) => {
res.status(200).send(data);
}).catch(Sequelize.ValidationError, (errorin) => {
res.status(400).send(errorin);
});