-
Notifications
You must be signed in to change notification settings - Fork 1
/
20 async await .js
79 lines (69 loc) · 2 KB
/
20 async await .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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// 💡 async function always returns a promise, even if I return a simple string from below function, async keyword will wrap it under Promise and then return.
async function getData() {
return "Namaste JavaScript";
}
const dataPromise = getData();
console.log(dataPromise); // Promise {<fulfilled>: 'Namaste JavaScript'}
//❓How to extract data from above promise? One way is using promise .then
dataPromise.then(res => console.log(res)); // Namaste JavaScript
function resolveAfter2Seconds() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('resolved');
}, 2000);
});
}
function resolveAfter10Seconds() {
return new Promise((resolve) => {
setTimeout(() => {
resolve('resolved');
}, 10000);
});
}
async function asyncCall() {
console.log('calling');
const result = await resolveAfter2Seconds();
console.log(result);
// Expected output: "resolved"
}
asyncCall();
//Creating a promise
const promise = new Promise((res, rej) => {
res("Promise Resolved")
})
//async function
async function getData2() {
return promise;//if we return the promise so it will never wrap in another promise
}
const data2 = getData2()
data2.then(res => console.log(res))
promise.then(res => console.log(res))//Both are same
//Async and await is use to handle promises
const p = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Second promise reolved")
}, 10000)
})
const p1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Second promise reolved")
}, 5000)
})
//handling through async await
//await is a keyword than can only be used in async function
async function promisehandler() {
console.log("Hello Akshad")
//JS engine is waiting for promisento get resolve
const val = await p;
console.log("Namaste Akshad")
console.log(val);
const val1 = await p1;
console.log("Namaste Akshad 2")
console.log(val1);
}
promisehandler();
//Handling nthrough normal function
function getData3() {
p.then(res => (console.log(res)))
}
getData3();