forked from nhattruongniit/learn-javascripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpromises.js
61 lines (52 loc) · 1.27 KB
/
promises.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
console.log("====== start promise loadNumber=========");
function loadNumber(number) {
return new Promise((resolve, reject) => {
// if (isNaN(number)) {
// let message = number + " is not number";
// reject(new Error(message));
// } else {
// resolve(1);
// }
console.log("success loadNumber: ", number);
});
}
Promise.all([loadNumber(1), loadNumber(2), loadNumber("abc")])
.then((res) => {
console.log("res123 : ", res);
})
.catch((err) => {
console.log("error 123", err);
});
console.log("======end promise loadNumber=========");
/*===================*/
console.log(new Promise((resovle, reject) => {}));
// create 1 promise
const loadApi = new Promise((resovle, reject) => {
setTimeout(() => {
resovle(2);
}, 2000)
})
// how get data from an promise
// way 1
loadApi.then((value) => {
console.log('promise: ', value)
}).catch(err => {
console.log('reject: ', err)
})
// way 2: async/await
const loadApi2 = () => {
return new Promise((resovle, reject) => {
setTimeout(() => {
reject(2);
}, 2000)
})
}
const asyncAwait = async () => {
try {
const res = await loadApi2();
console.log('async await success: ', res)
} catch(err) {
console.log('async await error: ', err)
}
}
asyncAwait();