Saya memiliki antarmuka REST API yang hanya memberi saya beberapa informasi tingkat pertama.
Jadi misalnya saya ingin mengumpulkan kelompok. Setiap Grup dapat memiliki subgrup. Jadi misalnya "Grup 1" mempunyai Subgrup "Grup A" dan "Grup B". "Grup A" memiliki Subgrup "GrupX". Dan seterusnya.
Tetapi API hanya memberi saya Grup tingkat pertama untuk nama grup. Jadi saya meneruskan "Grup 1" ke API dan mengembalikan "Grup A" dan "Grup B". Untuk mendapatkan supgrup Grup A, saya perlu memanggil API lagi. Tapi saya tidak tahu berapa banyak iterasi yang akan terjadi.
Jadi saya berpikir untuk menggunakan rekursi tetapi saya belum sampai sejauh ini.
Sejauh ini Kode saya:
getGroupChildren(group:string){ return this restService.getGroupChildren(group)}
getGroups():Promise<any>{
let collection:string[] = [];
return this.getGroupChildren("Group A").then((result)=> {
if(result.data.length !==0){
return this.getGroupChildren(data[0].groupName);
}
});
}
Sekarang ini hanya akan mengembalikan saya Supgrup pertama dari elemen pertama.
Bagaimana saya bisa memastikan bahwa setiap Supgroup akan selalu ditemukan, tidak peduli berapa jumlahnya? Mungkin bagus menggunakan Observables?
Berikut contoh struktur satu panggilan API:
{ "groupName" : "Group_1", "children" : ["Group_A", "Group_B"]}
then
panggilan balikgetGroupChildren
dan melihat apa yang terjadi setelah iterasi pertama? nilai apa yang Anda dapatkan/luluskan untukdata[0].groupName
? - person palaѕн   schedule 19.03.2018async
daripada janji mentah untuk membuatnya lebih mudah. Solusi sebenarnya tidak jelas karena pertanyaannya tidak berisi data yang cukup. Apa sebenarnya fungsi yang seharusnya dikembalikan? Ini disebut getGroups tetapi mengembalikan satu string. - person Estus Flask   schedule 19.03.2018