Express 请求数据的问题

老师们好,我的问题如下,辛苦了,感谢!

const express = require('express');
const app = express();

// 1. 多次 GET 请求接口,每次都会返回一个随机数
// 2. 然后再进行 POST 请求,为什么得到的 a 都是第一次 GET 请求随机到的 a ?
// 解决:把变量 a 弄成全局变量就是对的了,但不清楚为什么会这样
app.get('/data', async function (req, res) {
    var a = Math.random()
    res.json({
        age: a
    });
    console.log(a);
    app.post('/data', function (req, res) {
        console.log(a);
        res.json({
            name: a
        });
    });
});

app.listen(3000);
阅读 2k
2 个回答

是不是因为app.post()的定义只有第一次才生效,后来定义的都会被忽略,我瞎猜的

js作作用域 第一次get生成的post请求 不会被后面的get覆盖 所以它一直保存的是第一次get请求中的a的值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题