问题描述
我将以Redis的XADD
命令为例。我正试图允许我的write
函数将不同长度的对象写入redis流。
最初,redis-cli
中的命令如下所示:
XADD streamName objectId key1 val1 key2 val2 ...
在NodeJS中:
redisClient.xadd('streamName','objectId','key1','val1','key2','val2',function (err) {
if (err) {
console.log(err);
}
});
write(object) {
redisClient.xadd('streamName',<unpack object here>,function (err) {...});
}
write({key1: 'val1',key2: 'val2',...})
如何在NodeJS中将对象解压缩为函数的可选参数?
解决方法
为此,我必须首先将对象转换为其键-值对的数组,然后像这样解压缩数组:
write(object) {
message = objectToArray(obj); // in the OP example: ["key1","val1","key2","val2"]
redisClient.xadd('streamName','objectId',...message,function (err) {...});
}