Таймаут реквесту поставить. Если ответ не пришел до истечения таймаута, то "не ок"
Не знаю возможности модуля request и посмотреть нормально не могу, с телефона не удобно, поэтому могу предложить только универсальное, но не очень верное идеологически решение:
var options = {
url: url,
encoding: null,
timeout: 60*1000
};
function req(opts, cb){
var isTimeout = false;
setTimeout( ()=>{
if( isTimeout) return;
isTimeout = true;
cb("time is out", {});
}, opts.timeout);
request.get(opts, function (err, res) {
// сюда не попадает уже.. ;) виснет на запросе.
if( isTimeout ) return;
isTimeout = true;
cb(err, res);
});
)
// выполняем запрос с таймаутом в 60 сек.
req(options, function(err, res){
if (err) {
console.log('не ok');
} else {
console.log('ok');
}
});
PS: правильным решением будет делать так как это сделано в Вашем примере, но добавив в options значение таймаута. Поищите в офдоке модуля request как это делать.