![](/img/trans.png)
[英]Cookies handling using javascript or Express.js or node.js?
[英]Node.js Express.js MonGoose handling data
我在處理從 API 獲取的數據時遇到問題,它只給了我 null 並且它不會等待,盡管我已經異步/等待了函數。
我想要實現的是從第一個 URL 獲取數據,然后根據我從第一個響應中獲得的結果從其他 URL 獲取數據。 當我控制台記錄它時,我有一組對象。
我做錯了什么?
親切的問候
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);
}
}
];
您正在混合 Async/Awit 和 Promises。 像下面這樣使用異步等待。
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.