【发布时间】:2019-07-27 08:34:51
【问题描述】:
我有一个循环。在每一轮中,我都需要将 Question 数据添加到 MongoDB 数据库中。这工作正常。但是,我想在循环进入下一轮之前获取新插入的 Question 的 _id。这是我有问题的地方。服务器返回 _id 之前需要一定的时间,然后循环进入下一轮。因此,我需要一种方法来等待服务器响应,然后才能进入下一轮循环。
这是我的后端代码:
router.post("/createQuestion", (req, res) => {
const newQuestion = new Question({
description: req.body.description,
type: req.body.type,
model: req.body.model
});
newQuestion.save().then(question => res.json(question._id))
.catch(err => console.log(err));
});
这是我的 axios 函数,它在一个单独的文件中并导入到类中:
export const createQuestion = (questionData) => dispatch => {
axios.post("/api/scorecard/createQuestion", questionData)
.then(res => {
return res.data;
}).catch(err =>
console.log("Error adding a question")
);
};
这是我课堂上的代码:
JSON.parse(localStorage.getItem(i)).map(question => {
const newQuestion = {
description: question.description,
type: question.questionType,
model: this.props.model
}
const question_id = this.props.createQuestion(newQuestion);
console.log(question_id);
}
控制台显示未定义。
【问题讨论】:
标签: javascript reactjs axios