Javascript 我应该将从GET请求检索到的JSON存储在哪里,以便在v-for指令中访问它?

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获

我对使用API非常陌生,所以如果这真的很琐碎,请原谅我

我要使用两个GET请求:

  • /workflow/search
    将允许我获取整个工作流列表及其数据(即工作流id)
  • /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调用,请让我知道


谢谢大家!

这里有几件事

  • 计算属性用于返回基于反应属性的新值。它们不应该执行任何异步功能
  • 调用方法来呈现模板的一部分是非常低效的,可能会导致进一步的问题,如无限循环

  • 混合Vue和jQuery?只要说“不”这里有几件事

  • 计算属性用于返回基于反应属性的新值。它们不应该执行任何异步功能
  • 调用方法来呈现模板的一部分是非常低效的,可能会导致进一步的问题,如无限循环

  • 混合Vue和jQuery?只需说“否”简短回答:使用vuex store,注册一个执行get请求的操作并创建一个变异,它将请求的响应存储到store变量内的状态变量,然后使用computed检索store变量并将其用于模板

    简短回答:使用vuex store,注册一个执行get请求的操作,并创建一个变异,它将请求的响应存储到存储变量内的状态变量,然后使用computed检索存储变量,并将其用于模板它已存储在Elasticsearch中。从以下位置查看elasticsearch信息: http://localhost:8080/api/admin/config


    您可以从那里查询数据,比导体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的属性长度的错误