TypeError('"listener" 参数必须是函数');

Posted

技术标签:

【中文标题】TypeError(\'"listener" 参数必须是函数\');【英文标题】:TypeError('"listener" argument must be a function');TypeError('"listener" 参数必须是函数'); 【发布时间】:2020-04-16 18:15:34 【问题描述】:

我正在学习 Shama Hoque 的 pdf 课程 - full-stack-react-projects。为了解决问题,我使用命令行全局更新了 npm 和节点,但我仍然收到此错误消息 - throw new TypeError('"listener" argument must be a function'); 您可以在此处找到代码 - https://github.com/Shittu1/mern-skeleton。我的 server.js 文件如下:

import config from './../config/config';
import app from './express';
import mongoose from 'mongoose';

mongoose.Promise = global.Promise;
mongoose.connect(config.mongoUri);

mongoose.connection.on('error',  useNewUrlParser: true , () => 
   throw new error(`Unable to connect to the database $mongoUri`);
)

app.listen(config.port, (err) => 
    if(err)
        console.log(err);
    
    console.info('Server started on port: ', config.port)
)

拜托,我需要有人帮助我。谢谢。

【问题讨论】:

【参考方案1】:

我没有看到错误处理程序在处理函数以外的地方获取参数,您是否尝试按照文档进行设置?

mongoose.connection.on('error', err => 
   throw new error(`Unable to connect to the database $config.mongoUri`);
)

旁注,在您的代码中,未定义 mongoUri,您的意思是 config.mongoUri 吗?

文档 来自https://mongoosejs.com/docs/connections.html

要在初始连接建立后处理错误,您应该 监听连接上的错误事件。但是,您仍然需要 如上所示处理初始连接错误。

mongoose.connection.on('error', err =>  logError(err); );

【讨论】:

以上是关于TypeError('"listener" 参数必须是函数');的主要内容,如果未能解决你的问题,请参考以下文章

TypeError: require(...).listen 不是函数

rails 6 / webpacker tooltip and popover event listeners TypeError: $(...).tooltip is not a function

TypeError "styled": 符号不是函数

Python "TypeError: unhashable type: 'slice'" 用于编码分类数据

python: "TypeError: 'type' object is not subscriptable"

TypeError:str()最多使用1个参数(给定2个,TypeError:需要一个整数)