【问题标题】:How to call async function inside request-promise object?如何在 request-promise 对象中调用异步函数?
【发布时间】:2020-06-09 08:04:26
【问题描述】:

我有一个函数如下:

var request = require('request-promise');
var gzipEncoding=require('./gzipClass');
(async()=>{
    request({headers:{"Accept-Encoding": "gzip"},uri:"https://www.giftofspeed.com/gzip-test/", method: 'HEAD'}, function (err, res, body){
    console.log(res.headers['content-encoding']);
    const result= await  gzipEncoding.checkForGzipEncoding(res.headers)
    console.log(result)
});
})()

但我收到此错误

 const result= await  gzipEncoding.checkForGzipEncoding(res.headers)
                  ^^^^^

SyntaxError: await is only valid in async function

T 认为是因为我在请求中调用了一个异步函数。如何在请求中调用异步函数?提前致谢。

【问题讨论】:

    标签: node.js async-await http-headers request-promise


    【解决方案1】:

    调用request时需要在回调中添加async

        request({
            headers: { "Accept-Encoding": "gzip" }, uri: "https://www.giftofspeed.com/gzip-test/", method: "HEAD" }, 
            async function (err, res, body) {
                console.log(res.headers["content-encoding"]);
                const result = await gzipEncoding.checkForGzipEncoding(res.headers)
                console.log(result);
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 2020-08-13
      • 2020-03-09
      • 2018-02-07
      • 2020-02-10
      • 2021-02-15
      • 2019-04-01
      相关资源
      最近更新 更多