Node.js 事件驱动范式 = 乱码?

标签 node.js redis

我有 PHP 背景,现在正努力适应 Node.js 的事件驱动范例。但是,我的代码很快就会变得困惑。下面我将过程代码与实际的 Node.js Redis 代码进行比较。我这样做对吗?

程序(伪代码)

if(!client.get("user:name:koen")) {
    client.set("user:name:koen", "user:id:" + client.incr("count:users"));
}

事件驱动(实际代码)

client.get("user:name:koen", function(err, res) {
  if(!res){
    client.incr("count:users", function(err, count){ 
      client.set("user:name:koen", "user:id:" + count, function (err, res) {
        callback(err, res);
      });
    }); 
  }
});

最佳答案

问题中提到的回调 hell 在这里得到了很好的解释,以及如何编写代码来避免它:

http://callbackhell.com/

关于Node.js 事件驱动范式 = 乱码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19617188/

相关文章:

javascript - 更新 Mongo 文档内的数组不起作用

angularjs - mongoose 中 $gt 的问题

Node.js异步编程——复制二进制文件流

session - 如何使用 nodejs 和 express 将事件监听器添加到 session (redis)?

ruby-on-rails - Resque,Resque 服务器,在 RedisToGo 上与 Heroku

node.js - NodeJs : In Case when maxsockets are limited to 10, 如何限制globalAgent中的请求队列

javascript - 在 NodeJS 上打开图像并找出宽度/高度

mysql - 如何跨多个服务器nodejs和socket.io存储socket.id

laravel - 从 redis 'incrby' 检索访问者计数并创建热门帖子

java - Spring Data Redis 支持 Externalizable 吗?