HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>В классическом подходе значение возвращается через саму callback-функцию. Это делается путем передачи функции обратного вызова как параметра:</p>
1 <p>В классическом подходе значение возвращается через саму callback-функцию. Это делается путем передачи функции обратного вызова как параметра:</p>
2 function asyncOperation(callback) { setTimeout(() =&gt; { const result = "Hello, World!"; callback(result); // Возвращаем результат через callback }, 1000); } asyncOperation((result) =&gt; { console.log(result); // Здесь мы получаем результат });<p>С введением Promises в ECMAScript 6 (ES6) управление асинхронным кодом стало более удобным. Promise позволяет вам вернуть значения более напрямую:</p>
2 function asyncOperation(callback) { setTimeout(() =&gt; { const result = "Hello, World!"; callback(result); // Возвращаем результат через callback }, 1000); } asyncOperation((result) =&gt; { console.log(result); // Здесь мы получаем результат });<p>С введением Promises в ECMAScript 6 (ES6) управление асинхронным кодом стало более удобным. Promise позволяет вам вернуть значения более напрямую:</p>
3 function asyncOperation() { return new Promise((resolve, reject) =&gt; { setTimeout(() =&gt; { const result = "Hello, World!"; resolve(result); // Возвращаем результат через resolve }, 1000); }); } asyncOperation() .then(result =&gt; { console.log(result); // Здесь мы получаем результат }) .catch(error =&gt; { console.error(error); // Обработка ошибок });<p>Синтаксис async/await, введенный в ES2017, делает работу с асинхронным кодом еще более удобной, позволяя писать код, который выглядит синхронным. Но это так же будет работать только с промисами:</p>
3 function asyncOperation() { return new Promise((resolve, reject) =&gt; { setTimeout(() =&gt; { const result = "Hello, World!"; resolve(result); // Возвращаем результат через resolve }, 1000); }); } asyncOperation() .then(result =&gt; { console.log(result); // Здесь мы получаем результат }) .catch(error =&gt; { console.error(error); // Обработка ошибок });<p>Синтаксис async/await, введенный в ES2017, делает работу с асинхронным кодом еще более удобной, позволяя писать код, который выглядит синхронным. Но это так же будет работать только с промисами:</p>
4 async function asyncOperation() { return new Promise((resolve) =&gt; { setTimeout(() =&gt; { resolve("Hello, World!"); // Возвращаем результат через resolve }, 1000); }); } async function main() { try { const result = await asyncOperation(); // Ждем выполнения операции console.log(result); // Здесь мы получаем результат } catch (error) { console.error(error); // Обработка ошибок } } main();
4 async function asyncOperation() { return new Promise((resolve) =&gt; { setTimeout(() =&gt; { resolve("Hello, World!"); // Возвращаем результат через resolve }, 1000); }); } async function main() { try { const result = await asyncOperation(); // Ждем выполнения операции console.log(result); // Здесь мы получаем результат } catch (error) { console.error(error); // Обработка ошибок } } main();