美文网首页
request相关问题

request相关问题

作者: studentliubo | 来源:发表于2022-06-10 21:47 被阅读0次

    使用node-request时遇到了些问题,记录一下。

    • 一个有意思的api:careless
      response.caseless是对response.headers的再加工,如下图所示,通过打印结果可以看出careless其实是个map对象,这也为啥可以直接通过get获取value的原因response.careless.get('content-type')
    image.png
    • 调试技巧:require('request').debug = true

    • 下载的时候监听dataend事件,并且边收边写入到本地,发现request的回调函数会提前执行,这个时候end事件慢半拍,而且下载完成的文件打不开。

    dataend回调函数三者之间的关系及顺序?
    示例代码

    const url = 'https://puap.qpic.cn/newsapp_ls/0/12689062816/0'
    request(url, function (err, res, data) {
        console.log('callback run...')
    })
    .on('response', response => {
        console.log('statusCode:', response.statusCode)
    })
    .on('data', chunck => {
        console.log('receive chunck len:', chunck.length)
    })
    .on('end', () => {
        console.log('request end...')
    })
    .on('error', error => {
        console.log('error:', error)
    })
    

    运行结果:

    image.png
    当把上面的url对应的是无资源,则可能会出现下面的情况:
    image.png
    总结:无论response的状态是多少,总是先响应response -> data事件 -> end -> callback

    相关文章

      网友评论

          本文标题:request相关问题

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