mirror of
https://github.com/xfarrow/javascript-tutorials.git
synced 2025-04-22 14:27:38 +02:00
update
This commit is contained in:
parent
11d149edc9
commit
04e200e406
@ -10,43 +10,49 @@
|
|||||||
|
|
||||||
A Promise can be in one of these three states:
|
A Promise can be in one of these three states:
|
||||||
- Pending (the operation is being processed)
|
- Pending (the operation is being processed)
|
||||||
- Fullfilled (the operation has completed successfully)
|
- Fullfilled (the operation has completed successfully, resolve has been called)
|
||||||
- Rejected
|
- Rejected (the operation has not completed successfully, reject has been called)
|
||||||
*/
|
*/
|
||||||
const promise = new Promise(function (resolve, reject) {
|
const promise = new Promise(function (resolve, reject) {
|
||||||
setTimeout(() => resolve('done'), 500);
|
setTimeout(() => resolve('done'), 5000);
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The first argument of .then is a function that runs when the promise is resolved and receives the result.
|
The first argument of .then is a function that runs when the promise is resolved and receives the result.
|
||||||
The second argument of .then is a function that runs when the promise is rejected and receives the error.
|
The second argument of .then is a function that runs when the promise is rejected and receives the error.
|
||||||
The function passed to "then()" is put in the event loop queue!
|
The function passed to "then()" is put in the event loop queue!
|
||||||
*/
|
*/
|
||||||
promise.then(
|
promise.then(
|
||||||
result => console.log('The operation was successful. It returned ' + result),
|
result => console.log('The operation was successful. It returned ' + result),
|
||||||
error => console.log('The operation was not successful: ' + error)
|
error => console.log('The operation was not successful: ' + error)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Or we can pass only one argument if we're interested only in a positive result
|
Or we can pass only one argument if we're interested only in a positive result
|
||||||
*/
|
*/
|
||||||
promise.then(
|
promise.then(
|
||||||
result => console.log('The operation was successful. It returned ' + result)
|
result => console.log('The operation was successful. It returned ' + result)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Or we can pass only one argument to the method "catch" if we're interested
|
Or we can pass only one argument to the method "catch" if we're interested
|
||||||
in negative results only.
|
in negative results only.
|
||||||
|
|
||||||
promise.catch internally just calls promise.then(null, f)
|
promise.catch internally just calls promise.then(null, f)
|
||||||
*/
|
*/
|
||||||
promise.catch(
|
promise.catch(
|
||||||
error => console.log(error)
|
error => console.log(error)
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
finally gets always called
|
finally gets always called
|
||||||
*/
|
*/
|
||||||
promise.finally(
|
promise.finally(
|
||||||
() => console.log('The execution has terminated. Bye')
|
() => console.log('The execution has terminated. Bye')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
This line is used to demonstrate that the code within "then, catch, etc."
|
||||||
|
is in the event loop, as this is the first line getting executed.
|
||||||
|
*/
|
||||||
|
console.log("Last line");
|
@ -1,3 +1,4 @@
|
|||||||
JavaScript is single-threaded (but note that NodeJS is not entirely single-threaded, as it internally mantains a thread pool), but it can still take advantage of asynchronous programming.
|
JavaScript is single-threaded (but note that NodeJS is not entirely single-threaded, as it internally mantains a thread
|
||||||
|
pool), but it can still take advantage of asynchronous programming.
|
||||||
|
|
||||||
The Event Loop, which is a JavaScript construct that completes a new task while waiting for another
|
The Event Loop, which is a JavaScript construct that completes a new task while waiting for another.
|
Loading…
x
Reference in New Issue
Block a user