1 | // loop keep calling promise sequenctially until the promise resolve a false value
|
2 | module.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 | }
|