这让我疯狂。我有一个非常简单的“问题”,花了我几个小时,仍然不知道发生了什么。异步数组没有使用任何异步?
我有一个从父服务继承的子服务(我正在使用ES6)。构造函数接受一个名为options
的参数。 options
将被分配到this._defaults
。
现在在我将options
传入我的对象(new Service(options)
)之前,我用一些数据填充了options
。为了保持它的简单,我现在options
物体看起来是这样的:
const options = {
types: []
}
现在我添加一些东西到类型数组,像这样:
const Types = {
standard: {
some: 'data'
},
freeroll: {
some: 'data'
},
mainevent: {
some: 'data'
},
qualifier: {
some: 'data'
}
};
angular.forEach(Types, (val, key) => {
options.types[key] = true;
});
我给你我的服务,这样的范围:
$scope.service = new Service(options)
并使用控制台输出服务。控制台现在说_defaults.types
的值是Array(0)
。当我点击数组时,会显示正确的值,但范围不知道。
那是怎么回事? Array(0)
是不是意味着在console.log()时,该数组中没有填充任何值,但后来呢?像异步函数会做什么?
Here is a plunk of my problem。
的确如此。应该提到的是,JSON.stringify的工作方式,由json过滤器在内部使用。 – estus
那么我应该说什么。这是一个容易犯的错误,我没有看到它。完全合理,谢谢。 – Fortuna
没问题 - 当你看代码太长时间(特别是你自己)很难看到像括号和大括号的小杀手 – gonzofish