请求失败,状态码 400

Abh*_*lli 5 node.js reactjs

我在 nodejs 中运行服务器,在执行服务器代码时,我收到错误消息“(节点:7692)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 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);
});
Run Code Online (Sandbox Code Playgroud)

这是我的 srver.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);
});
Run Code Online (Sandbox Code Playgroud)

Gil*_*iwu 5

您应该在 get 调用中添加一个 catch:

import axios from 'axios';
import config from './config';

axios.get('${config.serverUrl/api/contests')
  .then(resp=>{
    console.log(resp.data);
  })  
  .catch(error=>{

  });
Run Code Online (Sandbox Code Playgroud)