2016-04-18 15 views
0

特定のホスト名にIPアドレスを動的に追加しようとしています。node.jsで非同期実行を停止する方法

// This function will return me ip address of my server 
dns.lookup('testwsserver', function (err, result { 
    hostIP = result; 
    console.log("Inside : "+hostIP); // Log 1 
}); 

console.log("Outside : "+hostIP); // Log 2 

var options = { 
    host : hostIP, 
    port : '8080', 
    path : null, 
    method : 'POST', 
}; 

console.log(options); // Log 3 

コードの上

コードスニペットは、単に問題は、ループの外に表示するか、使用しているとき、私は次のhostIPにnull値を得ているということである、「次のhostIP」を与えられたホスト名のIPアドレスを取得し、それを変数に代入されますオプションで。

出力 -

Outside : null       // Log 2 

{ hostname: null,      // Log 3 
    port: '8080', 
    path: null, 
    method: 'POST', 
    } 

Inside : 192.168.253.18    // Log 1 

私の必要性によると、コードは、第1のルックアップ機能は、次のhostIPに値を代入してから実行を休まなければならない、順番に実行する必要があります。

ご協力いただければ幸いです!

+0

は、これはあなたhttps://github.com/ForbesLindesay/sync-request –

+0

おかげ@DipakDendageを助けるかもしれない、しかし、私は、新しいPKGをインストールする権限がありません。 – abhi9393

答えて

1

あなたは次のようにしなければならない非同期(async)のNode.jsが言ったように:

// This function will return me ip address of my server 
dns.lookup('testwsserver', function (err, result { 
    hostIP = result; 
    console.log("Inside : "+hostIP); // Log 1 

    console.log("Inside1 : "+hostIP); // Log 2 

    var options = { 
    host : hostIP, 
    port : '8080', 
    path : null, 
    method : 'POST', 
    }; 

    console.log(options); // Log 3 

});その答えといくつかの変更以下を参照して

+0

だから私は検索の詳細内で私の要求の詳細を宣言する必要があります..それから私はそれをどのようにグローバルに使用するのですか? – abhi9393

0

が、私は私の結果を得た。..ここ は最終的にコードスニペットです...

dns.lookup('soawsserver', function (err, result) { 
     hostIP = result; 

// Only exception handling, in case dns look up fails to find server 
     if(hostIP == null) { 
      console.log("\nUnable to detect server, pl check /etc/hosts file.\n") 
     } 

     else { 
      var options = { 
       host : hostIP, 
       port : '8080', 
       path : null, 
       method : 'POST', 
      }; 
     }; 

PS:この問題を解決するための任意のより良い方法は以下のように、あります の代わりに、この問題を解決できる方法を調べるために私の全体のコードを置く ?

最初の実行中のルックアップ方法が好きで、その後 リクエストを初期化します。

ご協力いただければ幸いです!

おかげ

関連する問題