假設我需要對不同的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
},
...
]
所以在我的模板,我可以做的像水木清華
<p v-for="p in persons">{{ storage[p.id].gender }}</p>
現在的問題是:在我調用某個函數後,如何將所有數據鏈接起來,從而啓動我的請求? *請記住,我只能用兩個ID查詢第二個端點,所以我需要遍歷我所擁有的ID列表,併爲每個ID分別調用一次。在實際的應用程序,我已經從第一端點〜100點的ID,所以我需要讓〜50個電話到第二個
你想要你的答案包括vuex例子嗎? – LiranC
一旦您收到ID列表,您可以使用['Promise.all'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all)確保您在繼續之前獲得所有數據。更聰明的是宣佈添加id的突變,並在它們出現時渲染它們。 –
附註:「變性人」不是性別。 https://ux.stackexchange.com/questions/25826/how-can-i-deal-with-diverse-gender-identities-in-user-profiles – ceejayoz