因为nodejs中的许多操作都是异步的,所以有前后依赖关系的异步操作,后执行的操作必须写到回调函数里面。

如对redis的操作,设置一个key,然后获取设置key的值,就属于有前后依赖关系的异步操作,必须按下面的写法来写:

// demo-redis.js

var redis = require('redis');
var client = redis.createClient(6379);

client.set('key', 'val', function(err, reply) {
    if (err) {
        console.log(err);
        return;
    }   
    client.get('key', function(err, reply) {
        if (err) {
            console.log(err);
            return;
        }   
        console.log(reply);
        client.quit();
    }); 
});

当操作更多的时候,这样的代码格式,看起来会相当头疼。。。

如果没有安装redis扩展,先用以下命令安装:

npm install hiredis redis