0

我是一名 PHP 程序员,我开始使用 NodeJS 进行开发以优化我的 Web 应用程序并减少服务器资源。

我不是 Javascript 方面的专家,因此,我对语法和代码有几个疑问。

我开发了以下代码:

var redis = require("redis"), client = redis.createClient();

client.on("error", function (err) {
    logger.error("Couldn´t connect Redis");
});

client.on("connect", function() {
    client.get("user:ID", function (err, reply) {
        if(reply) {
            // CODE       
        }
    });
});

我希望它在没有密钥的情况下继续执行代码,并且我认为放置各种 IF 不是最优化的方式。

例子:

client.on("connect", function() {
    client.get("user:ID", function (err, reply) {
        if(reply) {
            // ROUTINE      
        }
    });
});

或者

client.on("connect", function() {
    client.get("user:ID", function (err, reply) {});
});

if (key) {
    // Code 1
}

// Code

if (key) {
    // Code 2
}

…………

是否有类似于 php DIE 的东西来完成例程?如何开发和优化它?谢谢你。

问候

4

1 回答 1

0

我假设,你想避免嵌套回调。

看看如何避免 Node.js 中异步函数的长嵌套

我建议关注主题以更好地了解 javascript 的异步特性

  • setTimeout 和 setInterval
  • 异步ajax
  • process.nextTick()
  • 回调函数

注意:Node.js 中没有 die() 之类的函数。如果要进行调试,可以使用process.exit()。但是这个函数会终止你的网络服务器。还有另一种方法,您可以抛出自定义错误并捕获它。通过这样做,您可以阻止服务器进程进一步处理当前请求。

于 2013-10-29T20:44:00.880 回答