老师,麻烦看一下报错。

来源: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群里具体说明一下,看看其他地方的代码。
0
0

Node.js工程师养成计划 保姆级教程 快速入门实战收尾

保姆级教程,从0起步,吃透Node完整技术体系

257 学习 · 94 问题

查看课程