UNPKG

sp-isoffline

Version:

is online and offline on nodejs; 检测网络状态(nodejs)

46 lines (41 loc) 898 B
const { spawn } = require('child_process') function _ping(to) { let i = ''; return new Promise(res => { let cp = spawn('ping', [to + '']) cp.stdout.on('data', data => { if (i == 'on') { i = '' cp.kill(); res(true) } i = 'on' }) cp.stderr.on('data', _ => { cp.kill(); res(false) }) cp.on('close', code => { // console.log('sp-isoffline:::', code); res(false) }) }) } async function ping(dnses) { let i = 0; let l = dnses.length; let r = new Array(l); for (; i < l; i++) { r[i] = await _ping(dnses[i]); }; return r } module.exports = { _ping, ping, pingdnses: [ 'www.baidu.com', 'weixin.qq.com', // 'www.chinanews.com', ] }