0

我这里的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). 当我使用console.log(data['remote "origin"'].url)它时,它会正确返回 url。

谢谢你。

4

1 回答 1

1

你在使用非 iniparser吗?

如果是这样,它看起来parse是异步的(我根据回调来判断,并且有一个parseSync函数。

这意味着您并不真正知道何时调用回调。parse被调用,然后您的程序立即移动到console.log尚未result更改的 。然后在某个时间,只要parse完成,就会调用解析回调

于 2013-06-01T19:02:16.373 回答