gpt4 book ai didi

javascript - 如何使用nodejs http修复 "'监听器参数必须是一个函数

转载 作者:行者123 更新时间:2023-12-02 23:10:32 24 4
gpt4 key购买 nike

我在纠正代码中的此错误时遇到了麻烦,该代码在本地环境中运行良好,但一旦代码进入我的“http.get”调用,就会不断返回此错误:““listener”参数必须是一个函数” 。 Nodejs 版本在两种环境中完全相同,令人不安的是 axios 的 get 可以工作,具有相同的 header 和参数。不幸的是,我无法使用 axios,因为它 chop 了我作为此请求的返回而收到的非常重要的十六进制数据。

我尝试以更经典的风格编写该函数,但出现了相同的错误。

const http = require('https');
const querystring = require('querystring');
const tokenData = require('../config/token');


const apiDL = {
baseURL: process.env.DOWNLOAD_API,
headers : {
//"Content-Type" : "application/x-www-form-urlencoded",
"Authorization" :""}

};

const singleDownload = (req, res) => {
//truncating my code to arrive to the problematic part
let h = apiDL.headers;
h.Authorization = token;
let p = params;

http.get( apiDL.baseURL,{ path :'/download?' + q, headers : h}, (resp) => {

const { statusCode } = resp;
const contentType = resp.headers['content-type'];
const contentDisp = resp.headers['content-disposition'];

//some other code irrelevant to the problem since the bug occurs when the http.get is called
}
).on('error', (e) => {
console.error(`Got error: ${e.message}`);
er +=e.message;
}
);

}





module.exports = {singleDownload}

我不明白为什么这个错误发生在这个环境中,而它在本地却没有相同的参数。如果有任何帮助,我将不胜感激。

最佳答案

如果它对将来的任何人有帮助:文档指定可以进行这样的调用:

https.get(url,options,callback);

就我而言,我仍然不知道为什么,它只接受这种类型的调用:

https.get(options,callback);

关于javascript - 如何使用nodejs http修复 "'监听器参数必须是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57381211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com