Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Конкурентное программирование

Промисы

Промис представляет работу, которая когда-нибудь завершится и выдаст результат (или потерпит неудачу). Промисы — высокоуровневый, повседневный способ заниматься конкурентностью в Raku: вы запускаете работу, тут же получаете промис и забираете результат, когда он понадобится.

В отличие от сырых потоков, промисы легко комбинировать: можно дожидаться сразу нескольких или надстроить один над результатом другого. И если поток позволяет только дождаться завершения работы, то ожидание промиса отдаёт вам значение, которое он выдал, и заново бросает ошибку, на которую он наткнулся, — так что передавать результаты через общие переменные вручную приходится редко. В этом разделе рассматриваются запуск промисов, ожидание их результатов и их объединение.

Темы этого раздела

Практика

Пройдите 2 теста по содержанию этого раздела.

Упражнения

В этом разделе 3 упражнения. Прежде чем приступать к практике, изучите все темы раздела.

  1. Соедините промисы в цепочку
  2. Дождитесь нескольких
  3. Выполнен или нарушен

Навигация по курсу

Решение: Два потока   |   start и await