假设我需要对不同的API端点进行两次异步调用。第二个电话的查询参数取决于我从第一个向Vue.js中的服务器发送链接请求
快速浏览收到:
第一个端点提供特定的顺序有些IDS(按排名进行排序,例如)
二端点提供了一些 “元信息” 那些IDS
端点例子:
GET /端点/一个
响应格式:
[
{
id: 1,
rating: 0.67
},
{
id: 2,
rating: 0.51
},
{
id: 3,
rating: 0.45
},
...
]
GET /端点/ 2的id = 1,2
// I receive those ids from call to the first endpoint
响应格式:
[
{
id: 1,
gender: "male",
age: 20,
profession: "Programmer"
},
{
id: 2,
gender: "transgender",
age: 27,
profession: "ML Engineer"
}
]
后来我需要遍历所有的我和我的模板显示元信息,但社会秩序应该是相同的,因为它是在端点的响应IDS /一个
我决定箱子的关键: VAL储存这些需求,即:
const storage = {
1: {
gender: "male",
age: 20,
profession: "programmer"
}
}
我也有从第一端点人一个变量,即:
const persons = [
{
id: 1,
rating: 0.67
},
...
]
所以在我的模板,我可以做的像水木清华
{{ storage[p.id].gender }}
现在的问题是:在我调用某个函数后,如何将所有数据链接起来,从而启动我的请求? *请记住,我只能用两个ID查询第二个端点,所以我需要遍历我所拥有的ID列表,并为每个ID分别调用一次。在实际的应用程序,我已经从第一端点〜100点的ID,所以我需要让〜50个电话到第二个
+0
你想要你的答案包括vuex例子吗? –
+0
一旦您收到ID列表,您可以使用['Promise.all'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all)确保您在继续之前获得所有数据。更聪明的是宣布添加id的突变,并在它们出现时渲染它们。 –
+0
附注:“变性人”不是性别。 https://ux.stackexchange.com/questions/25826/how-can-i-deal-with-diverse-gender-identities-in-user-profiles –