Attualmente sto lavorando su FLEX e devo chiamare un servizio web. una volta ottenuto il risultato, devo chiamare di nuovo il servizio web, con il risultato precedente come input.
Un problema di capitalizzazione è che il servizio potrebbe restituire più risultati e devo chiamare di nuovo il servizio con ciascuno dei risultati come input. Infine, ho bisogno che i risultati siano in una collezione di array gerarchici, con ogni risultato come figlio dell'input al servizio web.
Se fosse una funzione sincrona, sarebbe stato molto semplice, ma ho passato mezza giornata a cercare di creare qualcosa di elegante per il servizio web.
Ho finito con due array, uno per l'input e uno per i risultati. Ogni volta che ho avuto uno o più risultati, l'ho inserito nell'array di input e nei risultati. Vorrei quindi rimuovere il primo elemento dall'array di input e chiamare il servizio Web con esso, e così via, fino a quando ho finito tutti gli input. Una volta ottenuti tutti i risultati, ho creato una funzione ricorsiva che avrebbe creato l'albero gerarchico, di cui avevo bisogno.
Questa sembra una soluzione WTF molto hacky. C'è una soluzione elegante e migliore? Sono tutto orecchie.