Javascript 从方法返回时未解析的属性变量

Javascript 从方法返回时未解析的属性变量,javascript,angularjs,variables,intellij-idea,webstorm,Javascript,Angularjs,Variables,Intellij Idea,Webstorm,以上只是我的AngularJS应用程序中的一个示例,但对于从其他地方返回的所有数据(和vanilla JS)来说都是相同的问题,比如本例中的HTTP请求 结果-是HTTP请求的结果,包含一个对象数组 所以当我在这个数组上循环时,我访问这些对象的不同属性。 一切都很好,它也可以工作,但是我如何声明这些方法的不同属性呢 基本上,我想要的是消除WebStorm中的代码检查错误,比如:第106行的未解析变量字段 对我来说,报告它的原因很有道理,但我如何解决它呢?我建议使用JSDoc来记录ajax调用接收

以上只是我的
AngularJS
应用程序中的一个示例,但对于从其他地方返回的所有数据(和vanilla JS)来说都是相同的问题,比如本例中的
HTTP
请求

结果-是HTTP请求的结果,包含一个对象数组

所以当我在这个数组上循环时,我访问这些对象的不同属性。 一切都很好,它也可以工作,但是我如何声明这些方法的不同属性呢

基本上,我想要的是消除WebStorm中的代码检查错误,比如:
第106行的未解析变量字段


对我来说,报告它的原因很有道理,但我如何解决它呢?

我建议使用JSDoc来记录ajax调用接收到的此类对象。例如,请参见

您所说的“一切都很好,它也可以工作,但是我如何声明这些方法的不同属性?”是什么意思?展开此对话框,我可能会提供帮助:)您可以右键单击滚动条附近的区域并选择“自定义高亮度级别”,然后在该对话框中单击“配置检查”。在那里,您可以关闭JS.IntelliJ/WebStorm下的“Unresolved variable”,在上面的代码中,它抱怨“Unresolved variable fields”。这是有道理的,因为任何人/事物都应该如何知道对象“info”实际上包含:“info.data.fields.worklog”?我是否需要执行如下操作:info.data=info.data?信息数据:{};info.data.fields=info.data.fields?info.data.fields:{};“一定是更好的办法吗?”马雷克福尔-是的,我能做到。但我不想在全球范围内禁用它,就在这种情况下。如果我可以逐个禁用检查,也许我就足够了,但这似乎不可能(?),我理解你的沮丧。它确实让我很恼火,只能提出以下两种解决方案:全局禁用它或单独定义那些属性,但后者似乎不现实。
doChunk().then(function (results) {
   angular.forEach(results, function (info) {
      if (info.data.fields.worklog) {
         configProcess.results.push(info.data);