Chrome开发工具Electron未捕获类型错误:无法读取属性';长度';未定义的

Chrome开发工具Electron未捕获类型错误:无法读取属性';长度';未定义的,electron,google-chrome-devtools,undefined,typeerror,Electron,Google Chrome Devtools,Undefined,Typeerror,我正在学习抓取电子应用程序,并且在尝试迭代数组时,在控制台上会出现奇怪的行为。如果我在数组中的一个元素上手动发出完全相同的命令,那么一切都会按预期工作,但在使用for循环时会出现未捕获的TypeError > var models = manager.getInstance().collection.models undefined > models.length 2378 > var attributes = models[0].attributes undefined &g

我正在学习抓取电子应用程序,并且在尝试迭代数组时,在控制台上会出现奇怪的行为。如果我在数组中的一个元素上手动发出完全相同的命令,那么一切都会按预期工作,但在使用for循环时会出现未捕获的TypeError

> var models = manager.getInstance().collection.models
undefined
> models.length
2378
> var attributes = models[0].attributes
undefined
> var resource = attributes.getResource()
undefined
> resource
//outputs object tree
> resource.idle.length
14
> models[0].attributes.getResource().idle.length
14
但是,迭代时,任何元素的resource.idle.length都会崩溃

> var models = manager.getInstance().collection.models
undefined
> models.length
2378
> var data = new Array()
undefined
> for (n=0; n<models.length; n++;) {
     var attributes = models[n].attributes
     var resource = attributes.getResource()
     if (resource.idle.length > 0) {
          data.push(resource.idle)
     }
  }
Uncaught TypeError: Cannot read property 'length' of undefined
>var models=manager.getInstance().collection.models
未定义
>模型长度
2378
>var data=新数组()
未定义
>对于(n=0;n0){
data.push(resource.idle)
}
}
未捕获的TypeError:无法读取未定义的属性“length”
这是电子应用程序的问题吗?在控制台中搜索了一下并编写了一些代码之后,它看起来像是一个巨大的混乱。有时,当我创建一个var或只是查询控制台时,它将输出undefined,但如果我等待一秒钟并在控制台中发出完全相同的命令,它将不会返回undefined


是我把事情搞砸了,还是这是一个异步/线程问题?循环的
运行是否太快,无法及时为下一个命令分配对对象的引用?如果是这样,有什么好的技术来处理这个问题?

错误显然发生在不同的地方:
resource.idle.length
。您的模型肯定没有定义,因此对其调用length会引发错误。请在您的经理课程中展示您是如何获得系列/模型的?