@stephon
В Node.js для асинхронного выполнения запросов к серверу можно использовать механизмы обещаний (Promises) или функций обратного вызова (Callbacks), а также библиотеки для работы с сетью, такие как axios или node-fetch.
Например, с использованием обещаний можно написать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
const axios = require('axios'); async function getUsers() { try { const response = await axios.get('https://jsonplaceholder.typicode.com/users'); return response.data; } catch (error) { console.error(error); } } async function main() { const users = await getUsers(); console.log(users); } main(); |
В этом примере мы создаем асинхронную функцию getUsers
, которая отправляет GET-запрос на сервер и возвращает данные. Затем мы вызываем эту функцию из асинхронной функции main
с использованием ключевого слова await
, чтобы дождаться ответа от сервера.
Также можно использовать функции обратного вызова для обработки ответа сервера:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
const https = require('https'); function getUsers(callback) { https.get('https://jsonplaceholder.typicode.com/users', (response) => { let data = ''; response.on('data', (chunk) => { data += chunk; }); response.on('end', () => { callback(JSON.parse(data)); }); }).on('error', (error) => { console.error(error); }); } function main() { getUsers((users) => { console.log(users); }); } main(); |
В этом примере мы используем модуль https
для отправки GET-запроса на сервер. Внутри функции обратного вызова мы обрабатываем данные и вызываем переданную функцию обратного вызова с результатом. Затем мы вызываем функцию getUsers
из функции main
и передаем ей функцию обратного вызова для обработки ответа от сервера.