为什么会出现此错误? [ERR_INVALID_ARG_TYPE]:“块”参数必须是字符串或缓冲区类型之一。接收类型未定义

时间:2019-07-22 15:08:42

标签: node.js string

我正在向我的客户端输入一个函数和参数(lookupById和一个数字)。然后,服务器访问存储数据的模块,并应通过socket.write将正确的信息返回给客户端。当我按姓氏查找时,此方法有效,但当我按ID查找时,此方法无效。我知道我的模块很好,所以我不知道这个错误是什么意思。

    [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type 
    string or Buffer. Received type undefined

我的输入数据被转换为字符串,然后拆分为一个数组,从该数组中,我将输入解析为适当的命令形式。这是我的代码:

        const net = require('net');
        const employees = require('./employeeModule');
        const server = net.createServer(
            (socket) => {
                console.log("Client connection...");

                socket.on('end', () => {
                    console.log("Client disconnected...");
                });
                socket.on('data', (data) => {
                    nData = data.toString();
                    console.log(" Received: ", data.toString());
                    args = nData.split(" ");
                    func = args[2];
                    vars = args[3];
                    vars2 = args[4];
                    if (func == 'lookupByLastName'){
                        socket.write(JSON.stringify(employees[func](vars)));
                    }
                    if (func == 'lookupById'){
                        socket.write(JSON.stringify(employees[func](vars)));
                    }           
                });
            }
        );

server.listen(3000, function() {
    console.log("Listening for Connections");
});

0 个答案:

没有答案