new Promise
Create a promise by calling resolve or reject when async work finishes.
The executor function runs right away. Call resolve(value) to
fulfill, or reject(error) to fail. Here we wrap
setTimeout (Phase 10) so callers can use .then
instead of raw timer callbacks. Libraries and fetch (later)
do this wrapping for you.
Results appear here.
Important JavaScript
function delayValue(value, ms) {
return new Promise(function (resolve) {
setTimeout(function () {
resolve(value);
}, ms);
});
}
function delayFail(message, ms) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
reject(new Error(message));
}, ms);
});
}
delayValue("beep", 800).then(function (msg) {
console.log(msg);
});