我生活在php世界,但我正在尝试使用node构建restapi。
我整天都在尝试从for循环返回一系列结果。基本上我是通过一系列的领域_name:field_value. 我想将更新的结果推送到一个数组中返回。我可以让它登录到控制台,但不能再继续了。
下面是一个post-json数据示例
{
"first_name":"Jeff",
"phone":"4855555555"
}
下面是函数和循环
function UpdateKey(user_id, key, value, cb) {
connection.query('UPDATE users SET ' + key + ' = ? WHERE id = ? LIMIT 1', [value, user_id], function(err, results) {
if (err) {
callback = key + " update failed.";
} else {
callback = key + " was updated.";
}
cb(callback);
});
}
for (myKey in post_data) {
UpdateKey(user_id, myKey, post_data[myKey], function(id) {
console.log(id);
});
}
res.send(JSON.stringify({ "status": 200, "error": "", "response": my_results_here }));
我一直在研究异步,但不确定这里的最佳路线。任何帮助都太好了!
2条答案
按热度按时间3z6pesqy1#
您可以收集数组中的所有结果,并在数组大小等于键大小时发送:
ttvkxqim2#
您想要的解决方案:
或并行:
正确的解决方案
据我所知,您希望获取post数据并更新users表中的记录。
为什么不在一个查询中完成呢?
请这样做:
但最好考虑使用orm,即sequelize来实现安全性、验证等特性,以简化开发人员的工作。