2013-03-06 11 views
6

Ho una funzione che ha chiamato con altri oggetti e quando la mia applicazione è caricata, ottieni parametri e la funzione dovrebbe attendere la chiamata con tutto l'oggetto e quindi eseguirla in modo promette posso assicurare che tutto l'oggetto sia caricato ma Non conosco il conteggio dell'oggetto e non voglio impostare il timeout per il caricamento. Non parlo di tecnologia specifica come jquery e ho bisogno dell'algoritmo.Modello di promesse dell'attrezzo

pseudo codice:

 function loadWidget(id){ 
     list.push(id); 
     //here I should ensure all Widget is loaded 


      } 

in altre applicazioni che chiamo

app.loadWidget.add(widget1.id); 
    . 
    . 
    .  
    app.loadWidget.add(widget2.id); 
+5

Eeeek !!! questa è stata una lunga frase. – fsw

+0

La tua domanda ha bisogno di un po 'di correzione delle bozze del mio amico, specialmente della sua grammatica. – kiwicomb123

risposta

12

Se non si desidera soluzioni pronte e invece si desidera implementare tutti gli algoritmi di te stesso allora leggere i giornali referenziati nell'articolo Wikipedia: Futures and promises e le specifiche per Promises/A e Promises/A+.

E per assicurarsi che lo stiate facendo bene, leggere You're Missing the Point of Promises di Domenic Denicola e vedere lo Compliances tests for Promises/A+.

Se, d'altra parte, si decide che non vale la pena reinventare la ruota (a meno che non sia per l'istruzione - in tal caso reinventare con tutte le ruote possibili) quindi dare un'occhiata a RSVP.js, una libreria leggera che fornisce strumenti per l'organizzazione di codice asincrono. RSVP.js viene utilizzato ad esempio da Ember.js.