如何将request-promise的GET请求转换为Axios的GET请求
将request-promise GET请求转换为Axios实现
下面是对应你提供的request-promise代码的Axios版本:
const axios = require('axios'); // 确保已安装并引入Axios axios.get('url', { headers: { 'Accept': 'message/rfc2822' }, auth: { username: 'api', password: 'api-key' // 替换为你实际的密钥 }, responseType: 'stream' // 关键配置:开启流式响应 }) .then(response => { // 监听data事件处理流式数据,和原rp逻辑一致 response.data.on('data', (data) => { console.log("data", data); // 此处会拿到Buffer格式的数据 }); // 可选:监听请求结束或错误事件 response.data.on('end', () => { console.log('请求处理完成'); }); response.data.on('error', (err) => { console.error('流式数据处理出错', err); }); }) .catch(err => { console.error('请求失败', err); });
关键对应说明:
- 请求配置:Axios把目标URL作为
get方法的第一个参数,请求头放在headers配置项中,结构和原rp代码一致。 - 基本认证:Axios提供了
auth配置项,直接传入username和password即可完成身份验证,功能等价于rp的.auth()链式调用。 - 流式数据处理:必须设置
responseType: 'stream',让Axios返回流式响应对象,之后就能通过response.data.on('data')监听数据片段,和原代码逻辑完全匹配。
内容的提问来源于stack exchange,提问作者Bhavya Ardeshana
相关产品推荐
相关产品推荐

