I have the following code block that fails:
this.redisClient.hmset('user:' + userObj.getUserId(), {
'userId' : userObj.getUserId(),
'salutation' : userObj.getSalutation(),
'fn' : userObj.getFn(),
'mi' : userObj.getMi(),
'ln' : userObj.getLn(),
'suffix' : userObj.getSuffix(),
'userType' : userObj.getUserType(),
'created' : userObj.getCreated()
});
The error stack is as follows:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Cannot call method 'hmset' of undefined
at /node_apps/oc/api/v1/routes/user/db.user.js:70:34
at try_callback (/node_apps/oc/api/v1/node_modules/redis/index.js:484:9)
at RedisClient.return_reply (/node_apps/oc/api/v1/node_modules/redis/index.js:555:13)
at HiredisReplyParser.<anonymous> (/node_apps/oc/api/v1/node_modules/redis/index.js:256:14)
at HiredisReplyParser.emit (events.js:67:17)
at HiredisReplyParser.execute (/node_apps/oc/api/v1/node_modules/redis/lib/parser/hiredis.js:43:18)
at RedisClient.on_data (/node_apps/oc/api/v1/node_modules/redis/index.js:440:27)
at Socket.<anonymous> (/node_apps/oc/api/v1/node_modules/redis/index.js:70:14)
at Socket.emit (events.js:67:17)
at TCP.onread (net.js:329:14)
I am running Node 0.6.17 with Node Redis client. Any insight? Thanks!
If Node thinks you’re calling
hmsetonundefined, that means it thinks thatthis.redisClientis undefined; quite often, this is because the value ofthisis not what you think it is (although it could be thatredisClientwasn’t initialized, etc). While it’s impossible to say without seeing the surrounding code and how it’s called, check to make sure the value ofthisis bound, if necessary.