0

私は PHP プログラマーであり、Web アプリケーションを最適化し、サーバー リソースを削減するために NodeJS を使用して開発を開始しました。

私は 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
  • 非同期アヤックス
  • process.nextTick()
  • コールバック関数

注: Node.js には die() のような関数はありません。デバッグを行いたい場合は、process.exit()を使用できます。ただし、この関数は Web サーバーを終了します。もう 1 つの方法があります。カスタム エラーをスローしてキャッチすることができます。これにより、サーバー プロセスが現在のリクエストを処理するのを防ぐことができます。

于 2013-10-29T20:44:00.880 に答える