我的javascript有点问题。我一直在寻找,但没有运气。所以我有以下json对象:
{
core: {
repositoryformatversion: '0',
filemode: 'true',
bare: 'false',
logallrefupdates: 'true'
},
'remote "origin"': {
fetch: '+refs/heads/*:refs/remotes/origin/*',
url: 'https://github.com/user/repo.git'
},
'branch "master"': {
remote: 'origin',
merge: 'refs/heads/master'
}
}
这是我的剧本:
var iniparser = require('iniparser');
var result = [];
iniparser.parse('analytics.js/.git/config', function(err,data){
result.push(data);
});
console.log(result);
它返回[]
。实际上,我想使用result.push(data['remote "origin"'].url)
仅推送网址(https://github.com/user/repo.git)。
当我使用console.log(data['remote "origin"'].url)
时,它会正确返回网址。
谢谢。
答案 0 :(得分:1)
您使用的是none-iniparser吗?
如果是这样,parse
似乎是异步的(我是通过回调判断的,并且有一个parseSync
函数。
这意味着你真的不知道什么时候会调用回调。调用parse
后,您的程序会立即移至console.log
result
,但尚未更改。那么在某个时候,只要parse
完成,就会调用解析回调