У меня есть существующий список ключевых значений: key value1 value2
.redis.lindex() возвращает true, а не значение в индексе
В redis-cli
, я бег LRANGE key 0 -1
, который возвращает:
1) value1
2) value2
Это подтверждает, что список значения ключа существует. В redis-cli
, работает LINDEX key 0
возвращается:
"value1"
Однако, в моем приложении узла, когда я исполняю console.log(redis.lindex('key', 0))
, он печатает true
, а не значение в индексе.
Что я делаю неправильно?
Примечание: Я пользуюсь пакетом node-redis
.
Так что я изменил код в точности то, что у вас есть выше. За исключением того, что я возвращаю 'result', а не записываю его, поскольку я вызываю функцию из другого файла. Он возвращает 'undefined'. Однако, когда я регистрирую его, а не возвращаю его, он записывается в порядке. Почему я могу зарегистрировать его, но не вернуть его? –
Поскольку функция асинхронна, вы не можете «вернуть» ее. Что вам нужно сделать, это передать обратный вызов вашей функции, а затем вызвать этот обратный вызов из обратного вызова «redis.lindex». Я отредактирую свой ответ, чтобы показать пример этого. –
Спасибо, это сработало! Я новичок в js. –