request的pipe方法,如何监听读一个文件所需的时间?

从网上读取一个图片,我需要知道所需的时间,比如超过3秒我就放弃读取图片,如何做到?

阅读 3.4k
1 个回答

可以使用promise

const p = Promise.race([
  request('/resource-that-may-take-a-while'),//下载图片 改成真正的下载
  new Promise(function (resolve, reject) {
    setTimeout(() => reject(new Error('request timeout')), 3000)
  })
]);
p.then(response => console.log(response));
p.catch(error => console.log(error));

或者使用async

async.race([
    function(callback) {
        request('/resource-that-may-take-a-while',callback)//下载图片 改成真正的下载
    },
    function(callback) {
        setTimeout(function() {
            callback(null, 'two');
        }, 3000);
    }
],
// main callback
function(err, result) {
    
});
推荐问题