获取axios从一个js文件到另一个js文件的响应



我有这个axios get请求

getData.js

const int_postData = ({
'grant_type': 'client_credentials'
});
axios.post(token_url, int_postData, {
headers: {
"Authorization": 'Basic ' + Buffer.from(process.env.int_client_id + ':' + process.env.int_client_secret).toString('base64'),
"Content-Type": 'application/x-www-form-urlencoded'
}
})
.then((res) => {
axios.post(get_data_url, int_personData, {
//responseType: 'arraybuffer',
headers: {
"Authorization": 'Bearer ' + int_access_token
}
})
.then((res) => {
console.log(res.data)
})
})

App.js

这里我需要从getData.js获得响应,并显示响应。

  • 您需要将所有getData.js代码移动到函数中。
  • 要使该函数调用同步,您必须使用Promiseasync/await
  • 最后使用module.exports导出该功能,require()导入该功能。
/* file:getData.js */
//....
async function getData(int_personData) {
const int_postData = {
grant_type: 'client_credentials',
}
const token_resp = await axios.post(token_url, int_postData, {
headers: {
Authorization:
'Basic ' +
Buffer.from(process.env.int_client_id + ':' + process.env.int_client_secret).toString(
'base64'
),
'Content-Type': 'application/x-www-form-urlencoded',
},
})
const data_url_resp = await axios.post(get_data_url, int_personData, {
//responseType: 'arraybuffer',
headers: {
Authorization: 'Bearer ' + int_access_token,
},
})
return data_url_resp.data
}
module.exports = getData
// export default getData
/* file:App.js */
const getData = require('./getData')
// import getData from './getData.js' 
// now you can call `getData` function here
getData(int_personData)
.then((resData) => {
console.log(resData)
})
.catch((err) => console.error(err))

最新更新