为什么我的 API 中的这个端点返回 [] 而不是 404 错误?
Why is this endpoint in my API returning [] and not 404 error?
我目前正在使用 Zeit Now 创建一些 API,当 user
变量为 []
(一个空数组)时,我试图实现 404 错误,但是当我获取此端点,API 也在发送 []
。我该如何实施?是因为 user
是一个承诺吗?
const db = require('../../lib/db')
const escape = require('sql-template-strings')
module.exports = async (req, res) => {
const user = await db.query(escape`
SELECT *
FROM users
WHERE username = ${req.body.username}
AND password = ${req.body.password}
`)
if (user === []) {
res.status(404).json({ message: 'User with these credentials doesn\'t exist.' })
return false
}
res.status(200).json(user)
}
因为
[] === [] // false
所以你想检查 length
属性
if (user.length === 0) {
res.status(404).json({ message: 'User with these credentials doesn\'t exist.' })
return false
}
我目前正在使用 Zeit Now 创建一些 API,当 user
变量为 []
(一个空数组)时,我试图实现 404 错误,但是当我获取此端点,API 也在发送 []
。我该如何实施?是因为 user
是一个承诺吗?
const db = require('../../lib/db')
const escape = require('sql-template-strings')
module.exports = async (req, res) => {
const user = await db.query(escape`
SELECT *
FROM users
WHERE username = ${req.body.username}
AND password = ${req.body.password}
`)
if (user === []) {
res.status(404).json({ message: 'User with these credentials doesn\'t exist.' })
return false
}
res.status(200).json(user)
}
因为
[] === [] // false
所以你想检查 length
属性
if (user.length === 0) {
res.status(404).json({ message: 'User with these credentials doesn\'t exist.' })
return false
}