老师,麻烦看一下报错。
来源:5-6 添加用户信息到db文件

菜鸟轮回
2022-07-12
这个报错信息给的很模糊,加之对node不是很了解。不太明白它说的original必须是函数是什么意思。代码和报错信息如下:
代码:
const { json } = require('express')
const express = require('express')
const fs = require('fs')
const app = express() // express全局应用
const { promisify } = require('util')
const readFile = promisify(fs.readFile)
const wirteFile = promisify(fs.wirteFile)
app.use(express.urlencoded())
app.get('/', async function(req,res) {
try{
let back = await readFile('./db.json', 'utf8')
let jsonObj = JSON.parse(back)
res.send(jsonObj)
}catch(error) {
res.status(500).json({error})
}
})
app.post('/' ,async (req,res) => {
// console.log(req.headers)
// console.log(req.body)
let body = req.body
if(!body) {
res.status(403).json({
error: '缺少用户信息!'
})
}
let back = await readFile('./db.json', 'utf8')
const jsonObj = JSON.parse(back)
body.id = jsonObj.users[jsonObj.users.length-1].id+1
jsonObj.users.push(body)
console.log(body)
try {
let w = await wirteFile('./db.json', JSON.stringify(jsonObj))
if(!w) {
res.status(200).json({
msg: '写入成功!'
})
}
} catch (error) {
res.status(500).json({
error: '写入错误'
})
}
})
// 监听端口
app.listen('3000', () => {
console.log('run http://127.0.0.1:3000')
})
写回答
1回答
-
北瑶
2022-07-12
单看这个代码和报错也看不出哪里出了问题,但是可以肯定的是你在某个地方调用函数的传参出现了问题!
可以在qq群里具体说明一下,看看其他地方的代码。00