Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions promises/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
function delayedConsoleLog(text, milliseconds) {
setTimeout(() => {
console.log(text);
}, milliseconds);
}

delayedConsoleLog("Цей текст з'явиться через 2 секунди", 2000);
25 changes: 25 additions & 0 deletions promises/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
function fetchTodoData() {
return fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(data => {
console.log('Todo Data:', data);
return data;
})
.catch(error => console.error('Fetch Todo Data Error:', error));
}

function fetchUserData() {
return fetch('https://jsonplaceholder.typicode.com/users/1')
.then(response => response.json())
.then(data => {
console.log('User Data:', data);
return data;
})
.catch(error => console.error('Fetch User Data Error:', error));
}

Promise.all([fetchTodoData(), fetchUserData()])
.then(results => {
console.log('Promise.all Results:', results);
})
.catch(error => console.error('Promise.all Error:', error));
39 changes: 39 additions & 0 deletions promises/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
async function fetchTodoData() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/todos/1');
return await response.json();
} catch (error) {
console.error('Fetch Todo Data Error:', error);
throw error;
}
}

async function fetchUserData() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/users/1');
return await response.json();
} catch (error) {
console.error('Fetch User Data Error:', error);
throw error;
}
}

async function fetchDataFromServer() {
try {
const [todoData, userData] = await Promise.all([fetchTodoData(), fetchUserData()]);

console.log('Todo Data:', todoData);
console.log('User Data:', userData);

return [todoData, userData];
} catch (error) {
console.error('Fetch Data From Server Error:', error);
throw error;
}
}

fetchDataFromServer()
.then(results => {
console.log('Async/Await Results:', results);
})
.catch(error => console.error('Async/Await Error:', error));
32 changes: 32 additions & 0 deletions promises/task4.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
class ServerDataFetcher {
static async fetchTodoData() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/todos/1');
const data = await response.json();
console.log('Todo Data:', data);
return data;
} catch (error) {
console.error('Fetch Todo Data Error:', error);
throw error;
}
}

static async fetchUserData() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/users/1');
const data = await response.json();
console.log('User Data:', data);
return data;
} catch (error) {
console.error('Fetch User Data Error:', error);
throw error;
}
}
}

Promise.all([ServerDataFetcher.fetchTodoData(), ServerDataFetcher.fetchUserData()])
.then(results => {
console.log('Promise.all Results (Class):', results);
})
.catch(error => console.error('Promise.all Error (Class):', error));