Skip to content

Commit ff30662

Browse files
committed
Async Await Example
1 parent 375a422 commit ff30662

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// const { resolve } = require("node:path");
2+
3+
function promiseDelay(duration) {
4+
return new Promise((resolve) => {
5+
setTimeout(() => {
6+
resolve();
7+
}, duration);
8+
});
9+
}
10+
11+
const createVendorAPI = (delay, value, shouldFail) => {
12+
return {
13+
async makeAPIRequest() {
14+
await promiseDelay(delay);
15+
if (shouldFail) {
16+
throw new Error();
17+
}
18+
return value;
19+
},
20+
};
21+
};
22+
const creditValidAPI = createVendorAPI(
23+
1000,
24+
{ valid: true, token: 7966 },
25+
false
26+
);
27+
const placeOrderAPI = createVendorAPI(1500, { orderConfirmed: true }, false);
28+
// const placeOrderAPI = createVendorAPI(1500, { orderConfirmed: true }, true);
29+
const contactSupplierAPI = createVendorAPI(2000, { contacted: true }, false);
30+
31+
// window.contactSupplierAPI = createVendorAPI(2000, { contacted: true }, false);

0 commit comments

Comments
 (0)