Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 试图推入数组,但它保持为空_Javascript_Node.js - Fatal编程技术网

Javascript 试图推入数组,但它保持为空

Javascript 试图推入数组,但它保持为空,javascript,node.js,Javascript,Node.js,我试图将信息推送到数组中,但数组显示为空。我做错了什么 function fixItems(items){ var fixeditems = []; fs.readFile('prices.json', 'utf8', function(err, data){ if(err){} var jason = JSON.parse(data); for(var k = 0; k < jason.prices.length; k++)

我试图将信息推送到数组中,但数组显示为空。我做错了什么

function fixItems(items){
    var fixeditems = [];
    fs.readFile('prices.json', 'utf8', function(err, data){
        if(err){}
        var jason = JSON.parse(data);
        for(var k = 0; k < jason.prices.length; k++){
            for(var i = 0; i < items.itemsToReceive.length; i++){
                fixeditems.push({
                    name: items.itemsToReceive[i].market_hash_name,
                    classid: items.itemsToReceive[i].classid
                });
            }
        }
    });
    return fixeditems;
}
功能固定项(项){
var fixeditems=[];
fs.readFile('prices.json','utf8',函数(err,data){
如果(错误){}
var jason=JSON.parse(数据);
对于(var k=0;k
这是一个异步调用,因此在填充变量之前会返回变量。 实际上,如果异步不是优先事项,您可以这样做:

function fixItems(items){ 
    let fixeditems = [];
    let data = fs.readFileSync('prices.json', 'utf8')
    let jason = JSON.parse(data); 
    for(var k = 0; k < jason.prices.length; k++){ 
        for(var i = 0; i < items.itemsToReceive.length; i++){ 
            fixeditems.push({ 
                name: items.itemsToReceive[i].market_hash_name,
                 classid: items.itemsToReceive[i].classid 
             }); 
         }
    }
}
函数固定项(项){
设fixeditems=[];
让data=fs.readFileSync('prices.json','utf8')
让jason=JSON.parse(数据);
对于(var k=0;k

否则,您可以将所有内容包装在一个
承诺中
,或者使用诸如之类的库来执行此类任务

这是一个异步调用,因此在填充变量之前会返回变量。 实际上,如果异步不是优先事项,您可以这样做:

function fixItems(items){ 
    let fixeditems = [];
    let data = fs.readFileSync('prices.json', 'utf8')
    let jason = JSON.parse(data); 
    for(var k = 0; k < jason.prices.length; k++){ 
        for(var i = 0; i < items.itemsToReceive.length; i++){ 
            fixeditems.push({ 
                name: items.itemsToReceive[i].market_hash_name,
                 classid: items.itemsToReceive[i].classid 
             }); 
         }
    }
}
函数固定项(项){
设fixeditems=[];
让data=fs.readFileSync('prices.json','utf8')
让jason=JSON.parse(数据);
对于(var k=0;k

否则,您可以将所有内容包装在一个
承诺中
,或者使用诸如之类的库来执行此类任务

@JJJ如果我可以问的话,异步调用怎么样?推送本身似乎很好。你的问题可能是循环。
json.prices
为空或
items.itemsToReceive
为..
fs.readFile
为异步方法。我强烈感觉您应该使用。
fs.readFile
期望函数(error,data)作为最后一个参数,这一事实表明它是异步的。如果我可以问一下,切换到@JJJ,它是如何进行异步调用的?推送本身似乎很好。你的问题可能是循环。
json.prices
为空或
items.itemsToReceive
为..
fs.readFile
为异步方法。我强烈感觉您应该使用。
fs.readFile
期望函数(error,data)作为最后一个参数,这一事实本身就是一个信号,表明它是异步的。切换到