【问题标题】:How to retrieve a result outside of function如何在函数之外检索结果
【发布时间】:2019-07-25 14:40:42
【问题描述】:

如何在函数之外检索参数“结果”

结果返回一个json格式

确实,让用户工作,但我想使用相同的东西,但现在,函数内部的结果数组

感谢您的帮助:)

// connect to database
dbConn.connect();

router.use(passport.initialize());
router.use(passport.session());

// Retrieve all users 
router.get('/api/users', (req, res) => {
    dbConn.query('SELECT * FROM users', function (error, results, fields) {
        if (error) throw error;
        return res.json({ data: results });
    });
});

results 的值:

[
  {
    "id": 1,
    "name": "admin",
    "email": "admin@gmail.com",
    "password": "admin"
  },
  {
    "id": 2,
    "name": "emma",
    "email": "emma@gmail.com",
    "password": "password2"
  }
]

【问题讨论】:

标签: javascript vue.js


【解决方案1】:

在函数内声明的变量将存在于该函数范围内。 你需要在外面声明你的变量,这样你就可以使用你的函数来修改它的值:

let users = []

router.get('/api/users', (req, res) => {
  dbConn.query('SELECT * FROM users', function (error, results, fields) {
    if (error) throw error;
    res.forEach(result => {
      users.push(result)
    })
  });
});

【讨论】:

  • 虽然此代码 sn-p 可能是解决方案,但 including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
  • @nircraft 我知道关于解释答案背后推理的指南,但我认为循环遍历数组不需要进一步解释
  • 只需添加一些细节,为什么 OP 会出现问题以及您是如何解决的。它不必解释一个 for 循环
猜你喜欢
  • 1970-01-01
  • 2014-06-15
  • 2015-07-26
  • 2014-05-05
  • 1970-01-01
  • 1970-01-01
  • 2018-02-17
  • 2012-03-11
  • 2021-02-05
相关资源
最近更新 更多