请求失败,状态码为400
我在nodejs中运行服务器,同时执行服务器代码我收到错误“(node:7692)UnhandledPromiseRejectionWarning:未处理的promise拒绝(拒绝ID:2):错误:请求失败,状态码为400(节点:7692)弃用警告:弃用未处理的承诺拒绝。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程“。
这是我的serverrender.js代码
import axios from 'axios';
import config from './config';
axios.get('${config.serverUrl/api/contests')
.then(resp=>{
console.log(resp.data);
});
这是我的server.js代码
import config from './config';
import apiRouter from './api';
import express from 'express';
import path from 'path';
import sassMiddleware from 'node-sass-middleware';
import './serverRender';
const server=express();
server.set('view engine','ejs');
server.use(sassMiddleware({
src:path.join(__dirname,'sass'),
dest:path.join(__dirname,'public')
}));
server.get('/',(req,res)=>{
res.render('index',{
content:"... "
});
});
server.use(express.static('public'));
server.use('/api',apiRouter);
server.listen(config.port, config.host, () =>{
console.info('express listening on port ',config.port);
});
回答如下:
你应该在get调用中添加一个catch:
import axios from 'axios';
import config from './config';
axios.get('${config.serverUrl/api/contests')
.then(resp=>{
console.log(resp.data);
})
.catch(error=>{
});