В nodejs await используется для приостановки выполнения неблокирующим способом, ожидания асинхронного запроса обещания и ожидания завершения выполнения асинхронного метода; await можно использовать в асинхронных функциях для ожидания возвращаемого значения асинхронной функции; ; обещание возвращает Если отклонение не удалось, значение отклонения будет выдано и может быть получено с помощью «try/catch».
Операционная среда в этой статье: система Windows 10, nodejs версии 12.19.0, компьютер Dell G3.
Использование async/await было введено в Node.js 7 night, но официально активировать функцию async/await можно только в Node.js 8 и Javascript V8.
Что такое асинхронность/ожидание? Как реализовать асинхронные операции с использованием Promise в прошлом В следующем примере показано, как использовать API Promise и Fetch для извлечения данных.
function getTrace () { return fetch('https://www.jdon.com', { метод: 'get' }) } getTrace() .then() .catch()Используя async/await, вы можете приостановить выполнение неблокирующим способом и дождаться возврата результата. Если обещание возвращает неудачный отказ, значение отклонения будет выдано и может быть получено с помощью try/catch. Приведенный выше случай можно записать следующим образом, используя async/await:
function async getTrace () { let pageContenttry { pageContent = await fetch('https://www.jdon.com', { метод: 'get' }) } catch (ex) { console.error(ex) } return pageContent} getTrace() .then()Давайте рассмотрим случай использования async/await в Node.js, использования setimeout для задержки выполнения функции и использования инкапсуляции async/await:
// app.jsconst timeout = function (delay) { return new Promise((resolve, ignore) => { setTimeout(() => {solve() }, Delay) }) } async function timer () { console.log ('таймер запущен') await Promise.resolve(timeout(100)); console.log('таймер завершен') } timer());Создайте файл app.js и запустите:
узел app.js
Если он не может запуститься, возможно, nodejs — это ночная версия и официально не поддерживает async/await. Командная строка должна быть такой:
узел --harmony-async-await app.js
Рекомендуемое обучение: «видеоурок по nodejs»
Выше приведены подробности использования await в nodejs. Для получения дополнительной информации обратите внимание на другие статьи на этом сайте!