簡體   English   中英

將 node.js postgres 查詢結果保存在變量中

[英]Saving node.js postgres query result inside a variable

我正在嘗試將數據庫中的一些 user_ids 保存在一個數組中,以便我可以在路由中檢查該數組。 回調函數記錄了正確的數據,但 const 的值保持未定義。 有沒有人對如何解決這個問題有任何想法?

我正在使用 node-postgres 庫連接到數據庫。

這是我的代碼:

數據庫查詢功能:

const getAll = (callback) => {
  const query = `SELECT user_id FROM users`;

  pool
    .query(query)
    .then(data => {
      callback(null,data.rows)
    })
    .catch(e => console.error(e.stack))
}

const 帶回調函數:

const users = db.getAll(function(err,data) {
  if (err) {
    console.log(err);            
  } else {            
    const ids = data.map(x => x.user_id)
    console.log(ids);  // logs an array of ids 
    return ids         
  }    
})

console.log(users) // returns undefined

很感謝任何形式的幫助。

在您的回調完成之前,您的控制台日志中發生的事情正在執行。 要使其按預期工作,您需要重構以使用 async/await 或 promises。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM