Inilah keadaannya sekarang. Fungsi a ialah Janji yang mengembalikan data secara tidak segerak. Sekarang saya perlu mengendalikan a().then() seperti ini untuk setiap fungsi yang bergantung pada data ini
function a() { return new Promise((resolve, reject) => { .... }) } function getsub(id) { return a() .then((data) => { return ..... }) .catch((err) => {...}) } function tree(id) { return a() .then((data) => { return ..... }) .catch((err) => {...}) }
Terdapat beberapa kebergantungan kitaran rekursif Apabila kerumitan meningkat, saya berasa seperti menjadi gila.
Anda boleh menggunakan pengaturcaraan berfungsi untuk menulis:
Cuba async/tunggu ES7?
Atau perkenalkan pustaka async.js, yang biasa digunakan untuk kedua-dua hujung depan dan belakang.
Jika keperluan masa nyata dan kebebasan sangat tinggi, nampaknya tiada penyelesaian... Jika tidak, anda boleh cuba caching a... dan lihat apa yang orang lain katakan