【发布时间】:2021-02-05 13:13:54
【问题描述】:
request.post(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
res.writeHead(200, {'Content-Type': 'text/json;charset=utf-8'});
res.end(body);
console.log(body);
var JSONObject = JSON.parse(body);
o = JSONObject["langCode"];
} else {
res.status(response.statusCode).end();
console.log('error = ' + response.statusCode);
}
})
console.log(o);
const post = await Post.create({
content: req.body.content,
Language: o,
UserId: req.user.id,
});
我试图将函数名放在函数或返回方法中,但它不起作用。 我要将变量 o 移出函数范围。 我想把它保存在post.create的数据库中,我该怎么办?
【问题讨论】:
-
在收到post请求之前不能保存在数据库中。
-
这也可能有助于思考回调:felix-kling.de/blog/2019/…
-
真的没有办法将它保存到request.post之外的数据库吗? const 帖子在 request.post 之外重写。
-
“真的没有办法将它保存到 request.post 之外的数据库中吗?” 代码不一定要包含在
request.post中。它位于 哪里 并不重要。重要的是 何时 它被执行。您可以将数据库代码放在另一个函数中,并从request.post代码中调用它。这样可以确保只有在数据可用时才执行数据库代码。 -
我发布它是因为我担心有人有同样的担忧。我改变了前后顺序。并且先 Post.create 然后继续 Post.update 来解决它。我开始开发它的时间不长,所以即使它有效,我也不知道这是否是正确的方法。编码愉快。
标签: javascript function variables scope