blob: 21f969da08862456cf5d2c539317d3cc47c47628 [file] [log] [blame]
var Promise = require('bluebird')
module.exports.periodicNotify = function(promise, interval) {
var resolver = Promise.defer()
function notify() {
resolver.progress()
}
var timer = setInterval(notify, interval)
function resolve(value) {
resolver.resolve(value)
}
function reject(err) {
resolver.reject(err)
}
promise.then(resolve, reject)
return resolver.promise.finally(function() {
clearInterval(timer)
})
}