在 NodeJS 或 Javascript 中完成例程

Finish the routine in NodeJS or Javascript

本文关键字:例程 Javascript NodeJS      更新时间:2023-09-26

我是一名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的东西来完成例程吗?如何开发和优化它?谢谢。

问候

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

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

我建议以下主题来更好地了解javascript的异步性质。

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

注意:Node 中没有函数.js比如 die()。如果你想做调试,你可以使用 process.exit()。但是此功能会终止您的 Web 服务器。还有一种方法,您可以抛出自定义错误并捕获它。通过这样做,您可以进一步阻止服务器进程为当前请求提供服务。