gpt4 book ai didi

javascript - 无法使函数将数组推送到NodeJS中的redis列表

转载 作者:行者123 更新时间:2023-12-03 06:36:24 24 4
gpt4 key购买 nike

我正在使用redis列表在nodeJS中存储键的值。我已完成以下功能,并将其导出到另一个文件以使其成为api:

async function set(id, ...seats) {
var seatArr = [];
for(var i = 0; i < seats.length; i++)
{
seatArr = seatArr.concat(seats[i]);
}
try{
result = await client.rpush('seats_'+id, ...seatArr);
} catch(err) {
console.log(err)
}

}
module.exports = {
set : set()
};

但是我收到以下错误:
{ ReplyError: ERR wrong number of arguments for 'rpush' command
at parseError (/home/shivank/Music/node-app/ticket-booking/node_modules/redis-parser/lib/parser.js:179:12)
at parseType (/home/shivank/Music/node-app/ticket-booking/node_modules/redis-parser/lib/parser.js:302:14) command: 'RPUSH', args: [ 'seats_undefined' ], code: 'ERR' }

请帮助我解决此问题。

最佳答案

问题
您不是在开发函数,而是在尝试导出函数的结果(之所以文件化,是因为您没有提供所需的参数)。

module.exports = {
set : set(). // <<<---- You are executing the function
};
但是您没有提供任何参数,因此 id参数等于 undefined
从您的堆栈跟踪:
..[ 'seats_undefined' ].. // 'seats_'+id === 'seats_'+`undefined` === 'seats_undefined'
解决方案
module.exports = {
set : set
};

关于javascript - 无法使函数将数组推送到NodeJS中的redis列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61128347/

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