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)作为最后一个参数,这一事实本身就是一个信号,表明它是异步的。切换到