Virheobjektin lupaus JavaScriptissä
On yleisempää välittää funktiolle reject
ei merkkijonoa virheellä, vaan virheobjekti:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
reject(new Error('error in promise')); // virheobjekti
}, 3000);
});
Virheobjekteja voidaan myös heittää
käyttämällä throw - tämä on vastaava
kuin niiden välittäminen reject:lle:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
throw new Error('error in promise'); // vastaa rejectia
}, 3000);
});
Muokkaa seuraavaa koodia opitun mukaisesti:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
let isError = false;
if (!isError) {
resolve('success');
} else {
reject('error');
}
}, 3000);
});