簡體   English   中英

無法讀取 Express js 中未定義的屬性“狀態”

[英]Cannot read property 'status' of undefined in Express js

這是我的代碼:

const db = require('../models');

const findAllUsers = async (req, res) => {
  try {
    const users = await db.User.findAll();
    return res.status(200).json({
      users,
    });
  } catch (error) {
    return res.status(500).json({error: error.message})
  }
}


module.exports = {
  findAllUsers,
}

執行此操作時收到錯誤消息“TypeError:無法讀取未定義的屬性‘狀態’”

正在使用,表達 js 和 sequelize 來執行操作!

這是我的路線

router.get('/users', (req, res) => {
    //const a = controller.allUsers;
    res.send(controller.findAllUsers());
});

類型錯誤:無法讀取未定義的屬性“狀態”

你在訪問status上可能是不確定的?

 res.status

那么什么是res以及為什么可能未定義?

 const findAllUsers = async (req, res) => {

res是您傳遞給findAllUsers的第二個參數

controller.findAllUsers()

...你不傳遞任何參數來findAllUsers所以他們將是不確定的。

您需要將值傳遞給您使用的參數!


在旁邊:

 res.send(controller.findAllUsers());

您正在獲取findAllUsers的返回值並將其發送到響應中……但您已經嘗試在該函數內發送響應。 您不能多次響應同一個請求。

為什么不嘗試將reqres作為輸入參數傳遞給findAllUsers方法?

router.get('/users', (req, res) => {
    controller.findAllUsers(req, res);
});

暫無
暫無

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

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