1const fetchData = (url) => {
2 return new Promise((resolve, reject) => {
3 setTimeout(() => {
4 if (url.includes("success")) {
5 resolve(`Data fetched successfully from: ${url}`);
6 } else {
7 reject(`Error fetching data: ${url}`);
8 }
9 }, 1000);
10 });
11};
12
13const processData = (data) => {
14 return new Promise((resolve) => {
15 setTimeout(() => {
16 resolve(`Processed data: ${data.toUpperCase()}`);
17 }, 500);
18 });
19};
20
21const handleError = (error) => {
22 return new Promise((resolve) => {
23 setTimeout(() => {
24 resolve(`Handled Error: ${error}`);
25 }, 300);
26 });
27};
28
29fetchData("https://example.com/success")
30 .then(processData)
31 .then(fetchData)
32 .then(handleError)
33 .then((result) => {
34 console.log(result);
35 })
36 .catch((error) => {
37 console.error(error);
38 });