Così sto cercando di trasferire il mio codice nel "mondo Promise", e in molti luoghi in cui ho dovuto "loop" con la funzionalità asincrona - ho semplicemente usato la ricorsione in modo taleAsync ricorsiva utilizzando promessa
function doRecursion(idx,callback){
if(idx < someArray.length){
doAsync(function(){
doRecursion(++idx,callback)
});
}else{
callback('done!')
}
}
doRecursion(0,function(msg){
//...
});
Ora sto cercando di fare il cambiamento nel mondo Promessa, e sono abbastanza bloccato
var Promise = require('bluebird')
function doRecursion(idx){
return new Promise(function(resolve){
if(idx < someArray.length){
doAsync(function(){
//... doRecursion(++idx)
// how do i call doRecusion here....
});
}else{
resolve('done!')
}
});
}
doRecursion(0).then(function(msg){
//...
});
Grazie.
'determinazione (doRecursion (++ IDX));' - se si risolve promessa 1 con Promessa 2, quindi promessa 1 si risolverà con il valore risolto della Promessa 2 –
Si prega di smettere di usare il [promessa costruttore anti- Reticolo] (http://stackoverflow.com/q/23803743/918910). Questo vale anche per le risposte. – jib