我是新來的節點,有一些頭疼的異步編程。 我的網絡上有一個簡單的腳本ping設備。 現在我想要構建以下內容:如果其中一個設備位於網絡上,那麼如何處理回調,以便在所有ping都被終止後才做出決定?node.js - 聯合回調結果
var exec = require('child_process').exec;
function doThePing(ipaddy){
exec("ping " + ipaddy, puts);
}
function puts(error, stdout, stderr) {
console.log(stdout);
if (error !== null){
console.log("error!!!!");
}
else{
console.log("found device!")
}
}
function timeoutFunc() {
doThePing("192.168....");
doThePing("192.168....");
//if all pings are successful then do..
setTimeout(timeoutFunc, 15000);
}
timeoutFunc();
提到這可能是他lp你https://stackoverflow.com/questions/28849900/how-to-wait-for-function-to-finish-before-continuning-in-node-js – Rijo
[Promise](https://developer.mozilla。 org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise)可以幫助您,爲每個ping回調創建一個承諾,然後等待所有競爭 – aspark
[Promise](https://developer.mozilla.org/zh -CN/docs/Web/JavaScript/Reference/Global_Objects/Promise)可以幫助您,爲每個ping回調創建一個承諾,然後等待所有競爭 – aspark