[英]Node.js Express.js MonGoose handling data
I`m having issues handling the data got from APIs, it just gives me null and it doesn't wait altho I've asynced/awaited functions.我在处理从 API 获取的数据时遇到问题,它只给了我 null 并且它不会等待,尽管我已经异步/等待了函数。
What I'm trying to achieve is get the data from the first URL, after getting data from other URLs based on results I got from the first response.我想要实现的是从第一个 URL 获取数据,然后根据我从第一个响应中获得的结果从其他 URL 获取数据。 When I console log it I have array of objects.当我控制台记录它时,我有一组对象。
What I am doing wrong?我做错了什么?
Kind Regards亲切的问候
exports.sudRegList = [
async (req, res) => {
try {
let response = await axios.get("https://url.com/?offset=0&limit=20",
{
headers: {"Key": "5"}
});
response.data.map(async subject =>
{
let check = await Subjekti.findOne({ mbs: subject.mbs });
if (null !== check) {
return console.log("imamo takvu tvrtku");
}
let companyDetails = await axios.get(`https://url.com=${subject.mbs}&expand_relations=true`,
{
headers: {"Key": "5"}
});
await Subjekti({
mbs: subject.mbs,
sud_id_nadlezan: subject.sud_id_nadlezan,
sud_id_sluzba: subject.sud_id_sluzba,
oib: subject.oib,
ino_podruznica: subject.ino_podruznica,
stecajna_masa: subject.stecajna_masa,
datum_osnivanja: subject.datum_osnivanja,
postupak: subject.postupak,
likvidacijska_masa: subject.likvidacijska_masa,
skracene_tvrtke: companyDetails.skracene_tvrtke && companyDetails.skracene_tvrtke.length > 0 ? companyDetails.skracene_tvrtke[0].ime : null
}).save();
});
return apiResponse.successResponseWithData(
res,
"Tvrtka uspješno dodana."
);
} catch (err) {
//Baci error 500...
return apiResponse.ErrorResponse(res, err);
}
}
];
You are mixing Async/Awit and Promises.您正在混合 Async/Awit 和 Promises。 Use Async await like bellow.像下面这样使用异步等待。
exports.sudRegList = [
(req, res) => {
try {
let response = await axios
.get("https://link.com", {
headers: { Key: "5" }
})
response.data.map(subject => {
let subject = await Subjekti.findOne({ mbs: subject.mbs })
let companyDetails = await axios
.get(`https://link.com=${subject.mbs}&expand_relations=true`, {
headers: { Key: "5" }
})
await Subjekti({
mbs: subject.mbs,
sud_id_nadlezan: subject.sud_id_nadlezan,
sud_id_sluzba: subject.sud_id_sluzba,
oib: subject.oib,
ino_podruznica: subject.ino_podruznica,
stecajna_masa: subject.stecajna_masa,
datum_osnivanja: subject.datum_osnivanja,
postupak: subject.postupak,
likvidacijska_masa: subject.likvidacijska_masa,
skracene_tvrtke:
companyDetails.skracene_tvrtke &&
companyDetails.skracene_tvrtke.length > 0
? companyDetails.skracene_tvrtke[0].ime
: null
}).save();
});
return apiResponse.successResponseWithData(
res,
"Tvrtka uspješno dodana."
);
} catch (err) {
//Baci error 500...
return apiResponse.ErrorResponse(res, err);
}
}
];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.