blob: 8ddd045053a9b67b8e686e3a6c462e76f5697b11 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<!--
Works in Firefox, or where generators are implemented.
Peter Hallam, Tom van Cutsem, Mark S. Miller, Dave Herman.
The animation example was taken from
<http://wiki.ecmascript.org/doku.php?id=strawman:deferred_functions>
-->
<script src="../../q.js"></script>
<script type="application/javascript;version=1.7">
function delay(millis, answer) {
const deferredResult = Q.defer();
setTimeout(function() {
deferredResult.resolve(answer);
}, millis);
return deferredResult.promise;
}
var deferredAnimate = Q.async(function(element) {
for (var i = 0; i < 100; ++i) {
element.style.marginLeft = ''+i+'px';
yield delay(20);
}
});
function test() {
Q.when(
deferredAnimate(document.getElementById('box')),
function () {
alert('Done!');
}
)
}
</script>
</head>
<body onload="test()">
<div id="box" style="width: 20px; height: 20px; background-color: red;"></div>
</body>
</html>