promise-ext-settled
Version:
Simple settled promise
49 lines (41 loc) • 1.29 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.22/require.min.js"></script>
</head>
<body>
<script>
require(['../build/promiseSettled.min'], function(PromiseSettled) {
var promises = [], rejected = 0, resolved = 0;
for (var i = 1; i <= 10; i++) {
var p = new Promise(function(resolve) {
resolve(Math.random());
});
if (!(i % 2)) {
p = p.then(function() {
throw new Error();
});
}
promises.push(p);
}
PromiseSettled(promises, function(data) {
var d = document.createElement('div');
d.textContent = 'status: ' + data.status + '; value: ' + data.value;
document.body.appendChild(d);
}).then(function(result) {
result.forEach(function(data) {
if (data.status) {
resolved++;
} else {
rejected++;
}
});
alert('resolved promises: ' + resolved);
alert('rejected promises: ' + rejected);
});
});
</script>
</body>
</html>