美文网首页
request之进度监听

request之进度监听

作者: studentliubo | 来源:发表于2021-11-05 18:53 被阅读0次

直接上代码:

const request = require('request');

const url = ''; // 资源地址

let receivedBytes = 0;
let totalBytes = 0;

const req = request({
    method: 'GET',
    uri: url
  });

req.on('response', (data) => {
    // 更新总文件字节大小
    totalBytes = parseInt(data.headers['content-length'], 10);
  });

req.on('data', (chunk) => {
    // 更新下载的文件块字节大小
    receivedBytes += chunk.length;
    console.log("receivedBytes, totalBytes: ", receivedBytes, totalBytes);
});

req.on('end', () => {
    console.log('下载完成');
});

事件类型的来源文档

中阶示例

边读边写,控制读取可写入的速度,读取30b的文件,每次只能读5b,每次只能写入1b

function pipe(readFile,writeFileu){
    let rs = fs.createReadStream(readFile,{
        highWaterMark:5
    })
    let ws = fs.createWriteStream(writeFileu,{
        highWaterMark:1
    })
    rs.on('data',function(chunk){
        console.log('读取')
        // 当ws.write() 返回false时,表示没有空间继续写入了,暂停读取
        if(ws.write(chunk) == false){
            rs.pause() // 暂停rs的data事件
        }
    })
    // 当触发可写流的drain,表示有空间继续写入了,继续读取文件
    ws.on('drain',function(){
        rs.resume() // 恢复rs的data事件  把当前读入的内容都写到文件中了,继续调用读写
    })
    // 当读取流触发end方法,表示读取完毕,这时关闭可写流的写入
    rs.on('end',function(){
        ws.end()
    })
}

相关文章

  • request之进度监听

    直接上代码: 事件类型的来源文档[http://nodejs.cn/api/stream.html#event-e...

  • 监听器

    概念 事件源:被监听的对象(request、session、servletContext)监听器:监听事件源对象(...

  • listener知识

    主要包含3个点的监听:servletContext,session,request; 如何只监听某个servlet...

  • 监听器 Listener

    监听某个对象状态变化的组件。。。 域监听器 监听域对象的变化, 事件源 被监听的对象 ;有request域,ses...

  • java中的监听和过滤器

    监听request对象的两个接口 ServletRequestListener ServletRequestAtt...

  • axios文件下载上传进度监听

    axios文件下载上传进度监听

  • nodejs http模块

    创建一个模块 监听请求 启动http服务器监听连接 设置响应内容 获取请求体:监听request的data事件,c...

  • springboot监听器、过滤器和拦截器

    监听器 listener就是对项目起到监听的作用,它能感知到包括request(请求域),session(会话域)...

  • 跳转网页的几种方式

    1.webView :没有自带功能,不能监听进度条 2.WebKit:没有自带功能,但可以监听进度条, iOS8后...

  • 网络编程(文件上传)笔记

    用block直接上传文件 , 不监听进度信息 设置代理上传文件 , 监听进度信息 设置配置信息 文件解压缩 文件上...

网友评论

      本文标题:request之进度监听

      本文链接:https://www.haomeiwen.com/subject/axwrzltx.html