2011-08-05 3 views
0

質問にリンクされている質問Get local IP address in node.jsexecから出ることはできません。 IPアドレスを渡すローカル変数?

少し助けてもらえますか?この使用例では

、コールバック外のIP値を取得することが可能であるか

getNetworkIP(function (error, ip) { 
console.log(ip); 
if (error) { 
    console.log('error:', error); 
}}, false); 

?たとえば、接続などに使用する場合などです。私はそれを返そうとしました、それを輸出して、それを渡しましたが、これらの方法のどれも働いていません。助けてください、私は精神的に行くよ!

ありがとうございます!

P.S.:このコードは、私にはもう少し理解してもらえて本当に便利でした。私は本当に初心者です。それを分かち合うことに感謝します。

+0

回答はフォローアップの質問を投稿する方法ではありません。新しい質問を作成し、これにリンクする必要があります。いずれにしても、コールは非同期です。つまり、コールが終了する前に次のステートメントが実行されるため、コールバックからグローバル変数を設定しない限り、どこにもIPにアクセスできません。 - Juan Mendes –

+0

質問として答えて申し訳ありません。新しい質問とリンクをお願いします。この場合、ローカル変数の設定例を挙げることはできますか?私はしようとすると、それは未定義またはnullと私はそれを印刷したときに言う。私にはexecの機能から抜け出すことは不可能だと思われます。おかげで –

答えて

0

Juan Mendesがあなたに行っている呼び出しが非同期であることを伝えようとしたとき。つまり、そのノードはコードの実行を継続し、コールバックを取得します。あなたのIPで何をする必要があるものであれ、コールバック内で行うことも、グローバル変数として保存することもできます。

var myIP = ''; 

getNetworkIP(function (error, ip) { 
    if (error) { 
     console.log('error:', error); 
    }else{ 
     myIP = ip; 
     MyFunctionToConnectTo(myIP); 
    } 
}, false); 
+0

ありがとう。私は本当に今それを得る。私が欠けていたのは、コールバック関数を必要に応じて配置できるということでした。したがって、必要な機能をコールバックとして呼び出すのは簡単です。 –

関連する問題