Skip to content

Commit 21f297b

Browse files
committed
улучшена страница lwt
1 parent c4996a9 commit 21f297b

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"Stdlib",
1313
"struct",
1414
"utop",
15-
"Vkashka"
15+
"Vkashka",
16+
"промис"
1617
]
1718
}

docs/libraries/concurrency/lwt.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ outline: deep
1111

1212
Также активно используется в среде [MirageOS].
1313

14-
## Пример
14+
## Пример
1515

1616
Пример Lwt-программы, которая запрашивает первую страницу Google и терпит неудачу, если запрос не завершен в течение пяти секунд:
1717

@@ -42,9 +42,13 @@ let () =
4242
(* ocamlfind opt -package lwt.unix -linkpkg example.ml && ./a.out *)
4343
```
4444

45+
> [!NOTE] Смотрите также
46+
> - [Примеры по работе с TCP/IP](../../in-examples/tcp-ip.md#с-помощью-lwt)
47+
48+
4549
## Ppx
4650

47-
Препроцессинг для `do`-подобного синтаксиса ([`ppx_lwt`](https://ocsigen.org/lwt/4.1.0/api/Ppx_lwt)):
51+
Препроцессинг для do-подобного синтаксиса ([`ppx_lwt`](https://ocsigen.org/lwt/4.1.0/api/Ppx_lwt)). Настоятельно рекомендуется к использованию!
4852
```ocaml
4953
let%lwt user = get_user_from_api "dad" in
5054
(* ... *)
@@ -80,4 +84,18 @@ let _ =
8084

8185
[MirageOS]: https://mirage.io/
8286
[Ocsigen]: https://ocsigen.org/home/intro.html
83-
[libev]: http://software.schmorp.de/pkg/libev.html
87+
[libev]: http://software.schmorp.de/pkg/libev.html
88+
89+
## Трюки
90+
91+
### Never-промис
92+
93+
Тут мы создаем промис, который никогда не будет зарезолвен, а значит последовательность
94+
не продолжится.
95+
96+
```ocaml
97+
let never = fst @@ Lwt.wait ()
98+
```
99+
```ocaml
100+
let%lwt _ = never in (* ... *)
101+
```

0 commit comments

Comments
 (0)