私はnode.js非同期ワールドに苦労しています、私はnode.jsにnoobです私は基本的なプログラムの流れをどのように動かすのか理解していません。私はパッケージのiotdb-arpを使って、ネットワーク上でIPアドレスとMACアドレスを表示します。私はこのコードを実行し、関数スキャンを実行し、変数arrがいっぱいになるまで待ってからarrと終了メッセージを出力する必要があります。私はコールバックを使うべきだと知っていますが、私は本当に失われています。誰かが正しい方向に私を向けることができる、正しい順序で物事を実行する方法?今度は "[+]プログラムの起動"を実行すると、 "このマシンのIP:192.168.1.2"と表示され、スキャンが実行されますが、プログラムは同時に終了します。ここに私のコードです:Node.jsが基本コードで正しい順序で物事を動かす
console.log("[+] Program start");
var ip = require('ip');
var browser = require('iotdb-arp');
var arr = [];
var myIp = ip.address();
console.log("IP of this machine is : " + myIp.toString());
function scan(){
browser.browser({},function(error, data) {
if (error) {
console.log("#", error);
} else if (data) {
console.log(data);
arr.push(data);
} else {
}
});
}
/*function callback(){
console.log(arr);
console.log("[+] Program End");
}*/
scan();
console.log(arr); // Here in the end i need print arr
console.log("[!] Program End"); // Here I need print message "[+] Program End"
これはできません。コールバックを使用する必要があります。 – SLaks