Задержка выполнения асинхронной функции

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабе мы исследуем, как задерживать выполнение асинхронной функции в JavaScript. Используя функцию sleep и возвращая Promise, мы можем заставить часть async-функции "спать" определенное время, что позволяет лучше контролировать и управлять выполнением кода. С помощью практических примеров мы узнаем, как эффективно реализовать эту технику в реальных сценариях.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/ToolsandEnvironmentGroup(["Tools and Environment"]) javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/BasicConceptsGroup -.-> javascript/functions("Functions") javascript/AdvancedConceptsGroup -.-> javascript/async_prog("Asynchronous Programming") javascript/ToolsandEnvironmentGroup -.-> javascript/debugging("Debugging") subgraph Lab Skills javascript/variables -.-> lab-28270{{"Задержка выполнения асинхронной функции"}} javascript/data_types -.-> lab-28270{{"Задержка выполнения асинхронной функции"}} javascript/comp_ops -.-> lab-28270{{"Задержка выполнения асинхронной функции"}} javascript/loops -.-> lab-28270{{"Задержка выполнения асинхронной функции"}} javascript/functions -.-> lab-28270{{"Задержка выполнения асинхронной функции"}} javascript/async_prog -.-> lab-28270{{"Задержка выполнения асинхронной функции"}} javascript/debugging -.-> lab-28270{{"Задержка выполнения асинхронной функции"}} end

Как задержать выполнение асинхронной функции в JavaScript

Чтобы задержать выполнение асинхронной функции в JavaScript, вы можете использовать функцию sleep ниже, которая возвращает Promise, которое разрешается через определенное время. Вот пример того, как задержать выполнение части async-функции с использованием sleep:

const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

async function sleepyWork() {
  console.log("I'm going to sleep for 1 second.");
  await sleep(1000);
  console.log("I woke up after 1 second.");
}

Для использования этой функции просто вызовите sleepyWork(), и консоль выведет сообщения с задержкой в 1 секунду между ними.

Резюме

Поздравляем! Вы завершили лабу по задержке выполнения асинхронной функции. Вы можете практиковаться в более лабах в LabEx, чтобы улучшить свои навыки.