如果客户机有互联网连接,一切都会顺利的。
这是我的代码:
try{
let search = datastore.key(['Client', Client_id])
datastore.get(search, /*{timeout: 1000},*/ function (err, entity) {
console.log('limit >>>', entity.limit)
evt.emit('comparedate', res, entity.limit)
});
}
catch(error){
console.log('Error >>>', error)
}
我的问题是:连接尝试没有时间限制。当客户端无法访问internet时,请求将永远保持“挂起”状态,并且不会转到捕获条件。
我尝试了一些参数,比如:
Global#CallOptions
谢谢你的帮助!
编辑我知道这不是最值得信赖的方式。但现在我决定用这个密码:
evt.on('isonline', (res) => {
try{
require('dns').lookup('google.com',function(err) {
if (err && err.code == "ENOTFOUND") {
console.log('NO INTERNET')
evt.emit('readofflinedata', res)
} else {
console.log('WITH INTERNET')
evt.emit('readonlinedata', res)
}
})
}
catch(error){
res.status(200).send({ error: true, message: error.message })
}
})