搜尋

首頁  >  問答  >  主體

node.js - request的pipe方法,如何監聽讀取一個檔案所需的時間?

從網路上讀取一個圖片,我需要知道所需的時間,例如超過3秒我就放棄讀取圖片,如何做到?

怪我咯怪我咯2744 天前727

全部回覆(1)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-24 11:40:32

    可以使用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) {
        
    });

    回覆
    0
  • 取消回覆