【问题标题】:Javascript/Node.js "Function name" is not a functionJavascript/Node.js“函数名”不是函数
【发布时间】:2017-01-15 09:34:50
【问题描述】:

所以我有这个功能,昨天运行良好,但今天当我打开电脑时它停止工作。是否有任何我不知道的更新,我是否可能不小心删除了某些东西,但我从昨天起就没有接触过代码?有人可以帮我找到这个烦人的错误吗?

我试图达到的功能在其他文件夹和其他脚本中。

函数如下:

var npcSchema = new mongoose.Schema({
    NPCname: {type: String, unique:true},
    life: Number,
    zone : String,
    pos_x: Number,
    pos_y: Number,
    zgodba: Boolean
});

npcSchema.NarediNpc = function(imeNpc, socket){
    NPC.findOne({NPCname: imeNpc}, function(err, npc){
        socket.write(packet.build([
            "NPC",
            npc.NPCname,
            npc.life,
            npc.zone,
            npc.pos_x,
            npc.pos_y
        ]));
    })
};

module.exports = NPC = gamedb.model('npcs', npcSchema);

这是我试图访问该函数的代码:

var npcNaredi = new require('./Models/user.js');
case "NPC":              
    npcNaredi.NarediNpc("obj_npcLograk", c.socket);
    break;

变量和函数名是用斯洛文尼亚语写的,我希望这不会造成问题,它实际上可能只是一些愚蠢的错字但我找不到它,我为此感到头疼......

【问题讨论】:

  • 我看到你的“socket”和“socket”有错字。这可能是你的问题吗?
  • 在编辑帖子的人不小心输入错误之前不存在

标签: javascript node.js mongodb mongoose mongodb-query


【解决方案1】:

我看到你正在尝试创建一个实例方法,试试这个:

npcSchema.methods.NarediNpc = function(imeNpc, socket){
  // ...
};

【讨论】:

    猜你喜欢
    • 2018-03-19
    • 2018-10-13
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 2016-09-10
    • 2016-06-16
    相关资源
    最近更新 更多