gpt4 book ai didi

javascript - 添加 key : value to JSON Data in nodejs module function under race conditions

转载 作者:行者123 更新时间:2023-12-03 09:45:16 25 4
gpt4 key购买 nike

这是我在 node.js 和 socket.io 服务器中实际尝试执行的操作:

var Q = require('q');

module.exports.pushMyData = function (socket, RawData, row_id) {

return Q.fcall(function () {
layout.row_id = row_id;
}).then(function (resultData) {
socket.emit('resultData', resultData);
console.log("resultData emited ++++++:" + resultData);

});
};

在 module.exports.pushMyData 函数的范围内,我可以证明所有参数都提供正确的值,并且套接字也正常。其他参数如下所示:

rawData = {"myset":{"id":"22","item":"150"},
"myOtherset":{"hash":"55","branch":"150"},
"myid":"15"}
row_id = 234

现在我想将 row_id 简单地放入 RawData 中:之后它应该通过套接字作为 resultData 发出,如下所示:

resultData = {"my_set":{"id":"22","item":"150"},
"my_other_set":{"hash":"55","branch":"150"},
"my_id":"15",
"row_id":234} // as a key value pair

我实际上很困惑,因为我找不到用 row_id 键/值填充 rawData 文字的方法,所以我怀疑它存在竞争条件问题。可能是 socket.emit 在 row_id 添加到 rawData 之前启动。这对我来说是一个奇迹;-)我对 Q 的尝试似乎不是正确的方法。请帮忙。

最佳答案

您不需要在这里做出任何 promise 。只需分配属性:

module.exports.pushMyData = function (socket, rawData, row_id) {
rawData.row_id = row_id;
socket.emit('resultData', rawData);
console.log("resultData emited ++++++:", rawData);
};

关于javascript - 添加 key : value to JSON Data in nodejs module function under race conditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31059110/

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