首页 > 解决方案 > 问题:[ERR_INVALID_ARG_TYPE]:“listener”参数必须是函数类型。收到一个对象实例

问题描述

最喜欢的Function.js:

function favoriteFunction () {
  console.log("the best");
};

module.exports = {
  favoriteFunction,
};

应用程序.js:

const xmlrpc = require('xmlrpc');
const favoriteFunction = require("./favoriteFunction");

const server = xmlrpc.createServer(options);
server.on('callMyFavoriteFunction', favoriteFunction);

该错误是在 app.js 的最后一行引发的。

标签: node.js

解决方案


如果通过 module.exports 导出函数:

module.exports = {
  favoriteFunction,
}

然后可以这样导入:

const { favoriteFunction } = require("./favoriteFunction");

而不是

const favoriteFunction = require("./favoriteFunction");

module.exports 是一个对象,而不是一个函数。但是,在该对象内部是对象解构后的您最喜爱的Function


推荐阅读