-
Урок 1.
00:04:13
1. What is a synchronous function
-
Урок 2.
00:09:16
2. What is an asynchronous function
-
Урок 3.
00:06:16
3. How to create and call an async function
-
Урок 4.
00:03:38
4. How to call async throwing functions
-
Урок 5.
00:07:31
5. What calls the first async function
-
Урок 6.
00:04:49
6. What's the performance cost of calling an async function
-
Урок 7.
00:07:50
7. How to create and use async properties
-
Урок 8.
00:11:01
8. How to call an async function using async let
-
Урок 9.
00:08:39
9. Sending data safely across actor boundaries
-
Урок 10.
00:05:00
10. What's the difference between await and async let
-
Урок 11.
00:01:28
11. Why can't we call async functions using async var
-
Урок 12.
00:09:17
12. How to use continuations to convert completion handlers into async functions
-
Урок 13.
00:04:35
13. How to create continuations that can throw errors
-
Урок 14.
00:08:33
14. How to store continuations to be resumed later
-
Урок 15.
00:01:42
15. How to fix the error async call in a function that does not support concurrency
-
Урок 16.
00:05:37
1. How to loop over an AsyncSequence using for await
-
Урок 17.
00:10:11
2. How to manipulate an AsyncSequence using map, filter, and more
-
Урок 18.
00:14:25
3. How to create a custom AsyncSequence
-
Урок 19.
00:03:15
4. How to convert an AsyncSequence into a Sequence
-
Урок 20.
00:16:25
5. How to create and use AsyncStreams to return buffered data
-
Урок 21.
00:12:59
1. How to create and run a task
-
Урок 22.
00:10:33
2. What's the difference between a task and a detached task
-
Урок 23.
00:01:58
3. How to make a task sleep
-
Урок 24.
00:06:58
4. How to get a result from a task
-
Урок 25.
00:07:22
5. How to control the priority of a task
-
Урок 26.
00:04:41
6. Understanding how priority escalation works
-
Урок 27.
00:10:05
7. How to cancel a task
-
Урок 28.
00:04:01
8. How to voluntarily suspend a task
-
Урок 29.
00:12:34
9. How to create a task group and add tasks to it
-
Урок 30.
00:12:56
10. How to cancel a task group
-
Урок 31.
00:09:25
11. How to handle different result types in a task group
-
Урок 32.
00:06:12
12. How to discard results in a task group
-
Урок 33.
00:02:31
13. How to make async command-line tools and scripts
-
Урок 34.
00:14:22
14. How to create and use task local values
-
Урок 35.
00:12:43
15. How to run tasks with SwiftUI's task modifier
-
Урок 36.
00:08:12
1. What is an actor and why does Swift have them
-
Урок 37.
00:09:34
2. How to create and use an actor in Swift
-
Урок 38.
00:01:36
3. Understanding actor initialization
-
Урок 39.
00:03:30
4. How to make function parameters isolated
-
Урок 40.
00:04:15
5. How to make parts of an actor nonisolated
-
Урок 41.
00:08:50
6. How to use MainActor to run code on the main queue
-
Урок 42.
00:03:04
7. Who decides which actor code runs on
-
Урок 43.
00:09:38
8. What is actor hopping and how can it cause problems
-
Урок 44.
00:04:32
9. What is actor reentrancy and how can it cause problems
-
Урок 45.
00:04:00
1. How to write basic async tests
-
Урок 46.
00:13:43
2. How to handle concurrency errors in unit tests
-
Урок 47.
00:04:42
3. How to test completion handlers with Swift Testing and XCTest
-
Урок 48.
00:06:57
4. How to test AsyncSequence and AsyncStream
-
Урок 49.
00:04:13
5. How to set a time limit for concurrent tests
-
Урок 50.
00:03:50
6. How to force concurrent tests to run on a specific actor
-
Урок 51.
00:02:15
7. How to serialize parameterized tests with Swift Testing