Bluebird Progress
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/bluebird/1.2.2/bluebird.js"></script>
<div class="progress">0%</div>
JavaScript
demo(function (progress) {
$(".progress").text(progress + "%")
});
function demo(progressHandler) {
return new Promise(function (resolve) {
setTimeout(resolve, 1000)
}).tap(function () {
progressHandler(25);
}).then(function () {
return new Promise(function (resolve) {
setTimeout(resolve, 2000)
});
}).tap(function () {
progressHandler(50);
}).then(function () {
return new Promise(function (resolve) {
setTimeout(resolve, 2000)
});
}).tap(function () {
progressHandler(70);
}).then(function () {
return new Promise(function (resolve) {
setTimeout(resolve, 2000)
});
}).tap(function () {
progressHandler(100);
});
}