ReferenceError:变量未定义-Node.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ReferenceError:变量未定义-Node.js相关的知识,希望对你有一定的参考价值。

当我想运行下面的代码时,oddsData是未定义的。

getOdds = async(data) => 
    var receivedData = "";
    send("Command":"GetMatchMarkets","Params":data);
    var message = JSON.stringify("Command":"GetMatchMarkets","Params":data);
    var length = Buffer.byteLength(message),
    buffer = new Buffer(4 + Buffer.byteLength(message));
    buffer.writeUInt32LE(length, 0);
    buffer.write(message, 4);
    client.write(buffer);
    var bytesToReceive =  length;
    var oddsData = "";
    client.on('data', async(buf) =>  
        function calc()
            var offset = 0;
            if (bytesToReceive === 0)  
                if(buf.length < 4) return;  
                bytesToReceive = buf.readUInt32LE(0);
                offset = 4;
            
            var currentCommandBytes = Math.min(bytesToReceive, buf.length - offset);
            receivedData += buf.slice(offset, offset + currentCommandBytes);
            bytesToReceive -= currentCommandBytes;
            if (bytesToReceive === 0)  
                bytesToReceive = 0;
                if (receivedData != "")
                    oddsData += receivedData;
                
                receivedData = "";
            
            if (currentCommandBytes < buf.length - offset)   
                calc(buf.slice(currentCommandBytes+offset))
            
        
        var asFun = async (buf) =>  
            await calc();
        
    );
    console.log(oddsData);

返回ReferenceError:未定义oddsData。

当我想运行下面的代码时,oddsData是未定义的。

答案

[假设您在... OTHER CODES中使用了oddsData,可能是由于这些函数的嵌套引起的,将函数声明为变量,然后将其传递给您的代码。

function test()

var calc = function ()
     ...OTHER CODES....
     receivedData = "";
     return oddsdata


var asFun = async (buf) =>  
        await calc();
    
var oddsData = "";
    client.on('data', asFun);
    console.log(oddsData);

以上是关于ReferenceError:变量未定义-Node.js的主要内容,如果未能解决你的问题,请参考以下文章

node.js ReferenceError:服务器未定义

ReferenceError:进程未定义模块.../../../node_modules/graphql/jsutils/instanceOf.mjs

Node.js 和 JQuery:“ReferenceError:$ 未定义”错误。如何在服务器上将 jquery 与节点一起使用?

未捕获的 ReferenceError:全局未在 Object../node_modules/fbjs/lib/setImmediate.js 中定义

ReferenceError:变量未定义

模块构建失败(来自 ./node_modules/mini-css-extract-plugin/dist/loader.js):ReferenceError:文档未定义