Skip to content

Commit a3c6ee7

Browse files
Merge branch 'main' into main
2 parents 493868c + becb686 commit a3c6ee7

File tree

1 file changed

+148
-2
lines changed

1 file changed

+148
-2
lines changed

code-snippets/promises.md

Lines changed: 148 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,121 @@
11
<div align="center">
2-
<h1>Promises</h1>
2+
<h1>Promises</h1>
33
</div>
44

55
<ol>
66
<li>
77

8-
**Promise is introduced in which version of JavaScript ?**
8+
**Promise is introduced in which version of JavaScript?**
99

1010
- A: `ES5`
1111
- B: `ES6`
1212
- C: `ES8`
1313
- D: `ES8`
1414

1515
<br/>
16+
<details>
17+
<summary><b>Answer</b></summary>
18+
<p>
19+
20+
#### Option: B
21+
22+
</p>
23+
</details>
24+
</li>
25+
26+
---
27+
28+
<li>
29+
30+
**When do we say that a promise is 'settled'?**
31+
32+
- A: `If it is fulfilled`
33+
- B: `If it is rejected`
34+
- C: `If it is pending`
35+
- D: `If it is either fulfilled or rejected`
36+
37+
<br/>
38+
<details>
39+
<summary><b>Answer</b></summary>
40+
<p>
41+
42+
#### Option: D
43+
44+
</p>
45+
</details>
46+
</li>
47+
48+
---
49+
50+
<li>
51+
52+
**What will be the output?**
53+
54+
```JS
55+
const validateUsernamePassword = (username, password) => {
56+
return new Promise((resolve, reject) => {
57+
if (username == "ABC" && password == "123") {
58+
resolve("SUCCESS!");
59+
} else {
60+
reject("FAILURE!");
61+
}
62+
});
63+
};
64+
65+
validateUsernamePassword("ABC", "123")
66+
.then((msg) => {
67+
console.log(msg);
68+
})
69+
.catch((err) => {
70+
console.log(err);
71+
});
72+
```
73+
74+
- A: `SUCCESS!`
75+
- B: `FAILURE!`
76+
77+
<br/>
78+
<details>
79+
<summary><b>Answer</b></summary>
80+
<p>
81+
82+
#### Option: A
83+
84+
</p>
85+
</details>
86+
</li>
87+
88+
---
1689

90+
<li>
91+
92+
**While**
93+
94+
```JS
95+
let setTimeoutResolveReject = new Promise((resolve, reject) => {
96+
setTimeout(() => {
97+
resolve("YES");
98+
}, 3000);
99+
setTimeout(() => {
100+
reject("NO")
101+
}, 2000);
102+
});
103+
104+
setTimeoutResolveReject
105+
.then((msg) => {
106+
console.log(msg);
107+
})
108+
.catch((err) => {
109+
console.log(err);
110+
})
111+
```
112+
113+
- A: `YES`
114+
- B: `NO`
115+
- C: `NO\nYES`
116+
- D: `YES\nNO`
117+
118+
<br/>
17119
<details>
18120
<summary><b>Answer</b></summary>
19121
<p>
@@ -22,6 +124,50 @@
22124

23125
</p>
24126
</details>
127+
</li>
25128

129+
---
130+
131+
<li>
132+
133+
**While execution, the random value of `randomWaitTime` generated was `3800`. What will be the output?**
134+
135+
```JS
136+
let examplePromise = new Promise((resolve, reject) => {
137+
let timeout = 3000;
138+
let randomWaitTime = Math.floor(Math.random() * 5000) + 1;
139+
console.log(randomWaitTime);
140+
if (randomWaitTime <= timeout) {
141+
setTimeout(() => {
142+
resolve();
143+
}, randomWaitTime);
144+
} else {
145+
setTimeout(() => {
146+
reject();
147+
}, randomWaitTime);
148+
}
149+
});
150+
151+
examplePromise
152+
.then(() => {
153+
console.log("RESOLVED!");
154+
})
155+
.catch(() => {
156+
console.log("REJECTED!");
157+
});
158+
```
159+
160+
- A: `RESOLVED!`
161+
- B: `REJECTED!`
162+
163+
<br/>
164+
<details>
165+
<summary><b>Answer</b></summary>
166+
<p>
167+
168+
#### Option: B
169+
170+
</p>
171+
</details>
26172
</li>
27173
</ol>

0 commit comments

Comments
 (0)