【发布时间】:2019-05-28 21:04:27
【问题描述】:
- 使用 node js 我需要调用两个不同的 api,它们存在于两个不同的域中。
- 一个 api 可以正常工作,它存在于体育领域。
- 玩家域中存在的另一个 api,我现在添加了它,这就是我得到错误的地方
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 6): TypeError: Cannot read property 'status' of undefined - 我通过放置控制台进行了调试,但不知道如何修复它。
- 我需要更改配置吗?我什至添加了路由器
- 在下面提供我的代码 sn-p。
玩家域节点js代码
const express = require('express');
const axios = require('axios');
const mime = require('mime-types');
const router = express.Router();
const ResponseUtil = require('../../utils/ResponseUtil');
router.get('/:rank/:jump', (req, res, next) => {
const { originalUrl } = req;
//console.log(" originalUrl ", originalUrl);
const mode = req.params.rank;
const value = encodeURIComponent(req.params.jump);
console.log("document 4--->", mode);
console.log("for document Testing--->", mode);
const url = `players/?id=890900-weweew`;
axios
.get(url, {
headers: {
authorization: req.headers.authorization,
},
})
.then((response) => {
console.log("document--->", response);
const file = Buffer.from(response.data.content, 'base64');
const fileType = mime.contentType(response.data.contentInfo.fileType);
const fileExtension = response.data.contentInfo.fileType.toLowerCase();
const fileName = `filename=${response.data.contentInfo.id}.${fileExtension}`;
res.set('Content-Type', fileType);
res.set('Content-disposition', `attachment; ${fileName}`);
res.send(file);
})
.catch((e) => {
res.status(e.response.status).send(e.response.data);
});
ResponseUtil.callService(res, url);
});
module.exports = router;
体育领域节点js代码
const express = require('express');
const router = express.Router();
const ResponseUtil = require('../../utils/ResponseUtil');
router.get('/:rank/:jump', (req, res, next) => {
const { originalUrl } = req;
//console.log(" originalUrl ", originalUrl);
const mode = req.params.rank;
const value = encodeURIComponent(req.params.jump);
const url = `/sports?mode=sdioiosdio`;
console.log("rank 3--->", mode);
console.log("for document Testing--->", mode);
ResponseUtil.callService(res, url);
});
module.exports = router;
【问题讨论】:
-
检查你在
axios.get中使用的url
标签: javascript node.js api express