UNPKG

349 BJavaScriptView Raw
1// loop keep calling promise sequenctially until the promise resolve a false value
2module.exports = function loop (promise) {
3 var out = promise()
4 if (!out.then) {
5 var saveout = out
6 out = {
7 then: function (f) {
8 f(saveout)
9 },
10 }
11 }
12 return out.then(function (cont) {
13 if (!cont) return Promise.resolve()
14 return loop(promise)
15 })
16}