gpt4 book ai didi

mysql - 如何修复发送到客户端后无法设置 header ?

转载 作者:行者123 更新时间:2023-11-29 16:06:38 27 4
gpt4 key购买 nike

在过去 2.5 小时阅读了这个主题后,我无法确定如何解决我的问题:发送到客户端后无法设置 header 问题,但我认为这与底部的以下代码有关,尤其是代码以粗体显示。

任何帮助或协助将不胜感激。

app.post("/api/tracking/retrieve", (req, res) => {

res.setHeader('Content-Type', 'application/json');
// before all the iterations

const trackingCodes = ['EZ6000000006', 'EZ4000000004'];
const carrierCodes = ['UPS', 'UPS'];

trackingCodes.forEach((trackingCode) => {
carrierCodes.forEach((carrierCode) => {
const tracker = new api.Tracker({
tracking_code: trackingCode,
carrier: carrierCode
})

tracker.save().then(function (data) {

table = 'tracking_table';
col = ['user_id', 'tracking_number'];
val = [user_id, tracker.tracking_code];

**// !ISSUE: :: ::: :::: ::::: :::::: ::::::: //**

main.create(table, col, val, function (data) {
res.send(JSON.stringify({
id: "",
user_id: user_id,
tracking_number: data.tracking_code
})); // replace this for your res.json()
});
}

)
.catch(error => {
// handle errors
console.log('There has been an error with your submission.')
});
})
})
res.end()
});

最佳答案

正如 @kiran Mathew 所回答的,res.json() 在 for 循环内被一次又一次调用,这就是为什么会发生“发送响应后无法设置 header ”的原因。

您可以使用结果数组“trackingNumbers”来存储所有tracking_number,然后退出循环,发送单个响应。

app.post("/api/tracking/retrieve", (req, res) => {
const trackingCodes = ["EZ6000000006", "EZ4000000004"];
const carrierCodes = ["UPS", "UPS"];
const trackingNumbers = [];

trackingCodes.forEach(trackingCode => {
carrierCodes.forEach(carrierCode => {
const tracker = new api.Tracker({
tracking_code: trackingCode,
carrier: carrierCode
});

tracker
.save()
.then(function(data) {
table = "tracking_table";
col = ["user_id", "tracking_number"];
val = [user_id, tracker.tracking_code];

// !ISSUE: :: ::: :::: ::::: :::::: ::::::: //**

main.create(table, col, val, function(data) {
// res.json({
// id: "",
// user_id: user_id,
// tracking_number: data.tracking_code
// });

trackingNumbers.push(data.tracking_code);
});
})
.catch(error => {
// handle errors
console.log("There has been an error with your submission.");
});

res.json({
id: "",
user_id: user_id,
tracking_number: trackingNumbers
});
});
});
});

关于mysql - 如何修复发送到客户端后无法设置 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55682108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com