javascript - Nodejs Function 不是函数吗?

标签 javascript node.js

我正在使用 Facebook Messenger 编写一个小型聊天机器人。

我创建了2个主要的js文件: facebook.js 和 control.js

facebook.js 将执行发送消息/接收消息。 control.js 将执行一些次要逻辑/应用程序功能。

让我给出这两个js的示例代码。

在 facebook.js 中

function sendMessage(){
  ///configuring and json format
  //send to facebook server(webhook) by using Bluebird
  return new bluebird(function(resolve, reject) {
    resolve(data);
  }
}

// exports sendMessage()
module.exports = {
sendMessage:sendMessage
}

control.js

var fb = require('./facebook');




function something(){
  fb.sendMessage();
}

当我触发 somthing() 时。控制台显示这样的错误

System Error ### : uncaughtException: fb.sendMessage is not a function TypeError: fb.sendMessage is not a function

我记录“fb”: 它在控制台中打印 {} 。 有人遇到这个错误吗?我导出函数的代码是否错误?

最佳答案

因为当我打印出“fb”时,它显示为空{}

我发现这是循环依赖的问题! 这意味着您有 2 个模块(Ma 和 Mb)。 模块 A 需要模块 B。此外,模块 B 需要模块 A

更多信息: enter link description here

关于javascript - Nodejs Function 不是函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44471102/

相关文章:

javascript - LinkedIn 注销功能

javascript - 打开开发人员工具时 jQuery 文档高度错误

javascript - 从mysql文本类型显示换行符到ejs

javascript - 如何确定我的 AWS Lambda 函数为何无错退出?

javascript - 是否将Node.js视为具有工作线程的多线程?

javascript - 实现HighCharts与server.R之间的通信

javascript - JSF 在 onClick 事件之前执行 Ajax

javascript - 根据父元素的大小或窗口的大小更改 translateX 的值和元素的大小

node.js - 升级前如何查看 npm 包的发行说明?

node.js - 无法安装 waterlock 本地身份验证