25
26 Notification.requestPermission().then(granted => {
27 if(granted !== "granted")
28 return Promise.reject("denied");29 }).catch(err => {
30 if(err !== "denied")
31 console.log(`Error starting notifications: ${err}`);
60 return Promise.reject("not in a board");
61 }
62 if(threadInfo.id < 1) {
63 return Promise.reject("not in a thread");64 }
65
66 const data = await $.ajax({
57 threadInfo.id = thread;
58
59 if(threadInfo.board === "") {
60 return Promise.reject("not in a board");61 }
62 if(threadInfo.id < 1) {
63 return Promise.reject("not in a thread");
It is considered good practice to only pass instances of the built-in Error
object to the reject()
function for user-defined errors in Promises
. Error
objects automatically store a stack trace, which can be used to debug an error by determining where it came from. If a Promise
is rejected with a non-Error
value, it can be difficult to determine where the rejection occurred.
It helps us to ensure that Promises are rejected with Error
objects.
Promise.reject("something bad happened");
Promise.reject(5);
Promise.reject();
new Promise(function(resolve, reject) {
reject("something bad happened");
});
new Promise(function(resolve, reject) {
reject();
});
Promise.reject(new Error("something bad happened"));
Promise.reject(new TypeError("something bad happened"));
new Promise(function(resolve, reject) {
reject(new Error("something bad happened"));
});
var foo = getUnknownValue();
Promise.reject(foo);