请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

错误提示:TypeError: SuccessModel is not a constructor

老师,你好,我在这节运行时候报出下面错误

图片描述

下面是代码:
router/blog.js

const {getList} = require('../controller/blog')
const { SuccessModel, ErrorModel } = require('../model/resModel')

const handleBlogRouter = (req,res)=> {

	const method = req.method //GET POST

	//获取博客列表
	if (method === 'GET' && req.path === '/api/blog/list') {

		const author =  req.query.author || ''
		const keyword = req.query.keyword || ''
		const listData = getList(author,keyword)

		//listData是请求返回的数据数组,我们还要设置返回的code和message信息,需要利用model进行数据格式的修整
		return new SuccessModel(listData)

	}

	//获取博客详情
	if(method === 'POST' && req.path === '/api/blog/detail'){

		return {
			msg : '这是获取博客详情的接口'
		}

	}

	//新建一篇博客
	if(method === 'POST' && req.path === '/api/blog/new'){

		return {
			msg : '这是新建博客详情的接口'
		}

	}

	//更新一篇博客
	if(method === 'POST' && req.path === '/api/blog/update'){

		return {
			msg : '这是更新博客详情的接口'
		}

	}

	//一篇博客
	if(method === 'POST' && req.path === '/api/blog/del'){

		return {
			msg : '这是删除一篇博客的接口'
		}
	}
}

module.exports = handleBlogRouter

model/resModel.js

/*
* @Author: yangyang
* @Date:   2019-07-30 08:59:02
* @Last Modified by:   yangyang
* @Last Modified time: 2019-07-30 08:59:02
*/
class BaseModel {
    constructor(data, message) {
    	//data是对象类型,message是字符串类型,如果第一个传入的就是字符串类型,第二个没传,要兼容,就把传入的字符串赋给message
        if (typeof data === 'string') {
            this.message = data
            data = null
            message = null
        }
        if (data) {
            this.data = data
        }
        if (message) {
            this.message = message
        }
    }
}

class SuccessModel extends BaseModel {
    constructor(data, message) {
        super(data, message)
        this.errno = 0
    }
}

class ErrorModel extends BaseModel {
    constructor(data, message) {
        super(data, message)
        this.errno = -1
    }
}

module.exports = {
    SuccessModel,
    ErrorModel
}

还有项目目录结构:
图片描述

老师帮忙看下哪里有问题,麻烦老师了

正在回答 回答被采纳积分+3

3回答

凉夏初三 2020-09-02 21:47:15

遇到一样的问题。发现是代码的单词写错了

0 回复 有任何疑惑可以回复我~
不学会死掉 2020-08-16 13:52:22

我也遇到这个问题了,原因是因为我把model写成modal了,而且好几处,都改统一以后就没问题了,不过我看这个提问传的图没这个问题,大家可以参考一下

0 回复 有任何疑惑可以回复我~
双越 2019-07-30 13:43:26

你在报错的前面,打印一下 SuccessModel ,看打印出来是个啥

0 回复 有任何疑惑可以回复我~
  • 提问者 朱青1900 #1
    打印出undefined
    回复 有任何疑惑可以回复我~ 2019-07-30 14:35:46
  • 双越 回复 提问者 朱青1900 #2
    看你发的代码没看出啥问题。不过既然都 debug 出 undefined 来了,就可以顺着这个线索一层一层网上找。你可以继续 debug 试一下,把相关的代码、变量,都打印下,不要光用眼睛看。
    回复 有任何疑惑可以回复我~ 2019-07-30 15:30:42
  • 提问者 朱青1900 回复 双越 #3
    好,谢谢老师
    回复 有任何疑惑可以回复我~ 2019-07-30 23:31:12
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信