Так что я пытаюсь передать свой код в «Promise мир», и во многих местах, когда я должен был «петля» с функциональностью асинхронном - я просто использовал рекурсию таким образомАсинхронные рекурсивный с помощью обещания
function doRecursion(idx,callback){
if(idx < someArray.length){
doAsync(function(){
doRecursion(++idx,callback)
});
}else{
callback('done!')
}
}
doRecursion(0,function(msg){
//...
});
Теперь я пытаюсь внести изменения в мир Promise, и я совсем застрял
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){
//...
});
Спасибо.
'решительность (doRecursion (++ IDX));' - если разрешить Promise 1 с Promise 2, то Обещай 1 рассосется с разрешенным значением Promise 2 –
Пожалуйста, прекратите использование [обещание конструктора анти- шаблон] (http://stackoverflow.com/q/23803743/918910). Это также касается ответов. – jib