Javascript 我应该将从GET请求检索到的JSON存储在哪里,以便在v-for指令中访问它?
我对使用API非常陌生,所以如果这真的很琐碎,请原谅我 我要使用两个GET请求:Javascript 我应该将从GET请求检索到的JSON存储在哪里,以便在v-for指令中访问它?,javascript,jquery,vue.js,netflix-conductor,Javascript,Jquery,Vue.js,Netflix Conductor,我对使用API非常陌生,所以如果这真的很琐碎,请原谅我 我要使用两个GET请求: /workflow/search将允许我获取整个工作流列表及其数据(即工作流id) /workflow/{workflowId}将允许我获取包含更多详细信息的特定工作流 我目前在我的数据函数中有导入工作流,该函数由我从/workflow/search调用中获得的内容填充。如果我想知道关于工作流的更多信息,那么我想调用/workflow/{workflowId} 然而,这确实很困难,特别是因为我使用Jquery获
将允许我获取整个工作流列表及其数据(即工作流id)/workflow/search
将允许我获取包含更多详细信息的特定工作流/workflow/{workflowId}
导入工作流
,该函数由我从/workflow/search
调用中获得的内容填充。如果我想知道关于工作流的更多信息,那么我想调用/workflow/{workflowId}
然而,这确实很困难,特别是因为我使用Jquery获取JSON数据
$.getJSON(dataURL, function(data) {
self.importedWorkflows = data.results;
});
因为它都是异步的,所以我真的只想在准备好的时候访问通过/workflow/{workflowId}
找到的信息
这是我实现这一目标的尝试:
我计算了一个名为importedWorkflowDefinitions
的数组,该数组遍历通过/workflow/search
找到的所有工作流,并对每个工作流调用/workflowId/{workflowId}
。我将每次调用返回的JSON数据存储在计算数组中。然后,我使用名为generateWorkflowById()
的方法在importedWorkflowDefinitions
中查找工作流JSON
然而
在我的Vue应用程序中,我有一个使用v-for指令生成的表
<tbody v-for="workflow in workflowsOnPage">
<tr class="expandable-row" :id="workflow.workflowId">
<td>{{ generateWorkflowById(workflow.workflowId).workflowName }}</td>
<td>{{ workflow.workflowId }}</td>
<td>{{ workflow.status }}</td>
<td class="text-align-right">{{ workflow.startTime }}</td>
<td class="text-align-right">{{ workflow.endTime }}</td>
...
{{generateWorkflowById(workflow.workflowId.workflowName}}
{{workflow.workflowId}
{{workflow.status}
{{workflow.startTime}
{{workflow.endTime}
...
注意:工作流sonPage
是一个计算的JSON数组,用于分割导入的工作流
因此,本质上发生的是,由于第一次调用/workflow/search
尚未完成,因此表将在没有generateWorkflowById(workflowId.workflowId).workflowName
值的情况下呈现。此外,即使计算了workflowDefinitions
,并且在调用/workflow/search
时会发生更改,但表已经完成呈现,不会再次运行generateWorkflowById(…)
方法
有没有一种方法可以将通过/workflow/{workflowId}
调用找到的信息呈现到表中,而不会在我的所有数据中发生这种竞争
顺便说一句,我正在与Netflix Conductor合作,因此如果有更好的API调用,或者有不同的方式访问与工作流相关的所有详细信息,这样我就不必进行这些依赖的API调用,请让我知道
谢谢大家! 这里有几件事
您可以从那里查询数据,比导体api快得多,并减轻了主要用于执行的api的负担。从ES读取还可以让您更轻松、更高效地进行各种转换。它已经存储在Elasticsearch中。从以下位置查看elasticsearch信息: http://localhost:8080/api/admin/config
您可以从那里查询数据,比导体api快得多,并减轻了主要用于执行的api的负担。从ES读取还可以让您更轻松、更高效地执行各种转换。任何原因都可以使用jQuery进行get,使用vue进行渲染。为什么不在vue组件内部使用axios来检索数据并使用箭头功能,以便
此
不被绑定,这样您就可以使用此来填充视图组件数据。导入工作流
任何原因都可以使用jQuery进行get和vue进行渲染。为什么不在vue组件内部使用axios来检索数据并使用箭头功能,以便此
不被绑定,以便您可以使用此来填充查看组件数据。导入的工作流
非常感谢您,Phil!这对我有用!现在,控制台向我显示有关我尝试读取未定义对象的属性长度的错误。我想这是因为在API调用返回之前workflowsOnPage是未定义的。在created()钩子中计算workflowsOnPage会更好吗?您还没有显示该计算属性的功能,所以我只能说它应该总是返回一个数组,空的或其他的。非常感谢您,Phil!这对我有用!现在,控制台向我显示了关于我试图读取未定义obj的属性长度的错误