Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nodejs中的回调函数错误_Javascript_Node.js - Fatal编程技术网

Javascript Nodejs中的回调函数错误

Javascript Nodejs中的回调函数错误,javascript,node.js,Javascript,Node.js,在上面的代码中,我能够从后端服务器获取消息,它将状态代码显示为200,并且消息被正确检索。但是,我在回调函数中遇到此错误,其中状态代码为200: var bcrypt = require('bcrypt-nodejs'); var request = require('request'); var rest_api = require('../../config/rest_api'); var target = "sivatest"; function chatMessages(user_na

在上面的代码中,我能够从后端服务器获取消息,它将状态代码显示为200,并且消息被正确检索。但是,我在回调函数中遇到此错误,其中状态代码为200:

var bcrypt = require('bcrypt-nodejs');
var request = require('request');
var rest_api = require('../../config/rest_api');
var target = "sivatest";

function chatMessages(user_name, target) {
    this.local = {
        user_name: user_name,
        target: target
    };
}

chatMessages.sendChatMessage = function (user_name, target, content) {
    request.post({
        url: rest_api.message + user_name + '/' + target,
        body: {
            content: content
        },
        json: true
    }, function (err, res) {
        console.log("coming back after save chatMessages");
        if (err || res.statusCode !== 200) {
            console.log("return unsuccessfully!");
            console.log(res.statusCode);
        } else {
            console.log("return successfully");
        }
        return;
    });

};

chatMessages.getChatMessage = function (user_name, target, callback) {

    request(rest_api.messages + '/' + user_name + '/' + target, {
        json: true
    }, function (err, res, body) {
        console.log("test get");
        console.log(res);
        console.log(res.statusCode);
        if (err) {
            callback(err, res);
            return;
        }
        if (res.statusCode === 200) {
            //window.alert("success");
            callback(null, body);
            return;
        }
        if (res.statusCode !== 200) {
            //window.alert("null");
            callback(null, null);
            return;
        }
    });
};

module.exports = chatMessages;
TypeError:undefined不是函数 应请求。_回调(/Users/ranjani/fse-F14-SA3-SSNoC-Node-UI/app/models/chatRest.js:38:17) at Request.self.callback(/Users/ranjani/fse-F14-SA3-SSNoC-Node-UI/Node_modules/Request/Request.js:121:22) at Request.emit(events.js:98:17) 应要求。(/Users/ranjani/fse-F14-SA3-SSNoC-Node-UI/Node_modules/request/request.js:985:14) at Request.emit(events.js:117:20) 在收到消息时。(/Users/ranjani/fse-F14-SA3-SSNoC-Node-UI/Node_modules/request/request.js:936:12) 在IncomingMessage.emit(events.js:117:20) 在_stream_readable.js:943:16 在进程中调用(node.js:419:13
有人能告诉我哪里可能是错的吗?

chatMessages.getChatMessage应该是chatMessages.prototype.getChatMessage——我想。如果你能显示chatRest.js(了解上下文)会更好但是,如果chatMessages是构造函数,那么您应该将方法设置为prototypeHi,谢谢您的建议。@VasilVanchuk您能告诉我prototype是什么意思吗?我的代码结构中没有类似的东西,我在所有其他模块中使用了相同的方法来处理get请求。所以我猜我可能有点过头了如果您使用类似于var cm=new chatMessages()的chatMessages,则只有当您将它们直接放在obkject中时,它们才会有getChatMessage和getChatMessage方法(例如,getChatMessage=function(){}或getChatMessage.prototype.getChatMessage=function(){})-是否调用new以导入模块?有关原型的更多详细信息,请参阅i文档(请随时通知我当前状态) TypeError: undefined is not a function at Request._callback (/Users/ranjani/fse-F14-SA3-SSNoC-Node-UI/app/models/chatRest.js:38:17) at Request.self.callback (/Users/ranjani/fse-F14-SA3-SSNoC-Node-UI/node_modules/request/request.js:121:22) at Request.emit (events.js:98:17) at Request. (/Users/ranjani/fse-F14-SA3-SSNoC-Node-UI/node_modules/request/request.js:985:14) at Request.emit (events.js:117:20) at IncomingMessage. (/Users/ranjani/fse-F14-SA3-SSNoC-Node-UI/node_modules/request/request.js:936:12) at IncomingMessage.emit (events.js:117:20) at _stream_readable.js:943:16 at process._tickCallback (node.js:419:13