Swift Concurrency by Example 第2页
How to store continuations to be resumed later 如何存储要稍后恢复的 continuations-Stewed Noodles 资源

How to store continuations to be resumed later 如何存储要稍后恢复的 continuations

Many of Apple’s frameworks report back success or failure using multiple different delegate callback methods rather than completion handlers, which means a simple continuation won...
XuX的头像-Stewed Noodles 资源烩之面大会员XuX1年前
380
What is an actor and why does Swift have them? 什么是 actor,为什么 Swift 有它们?-Stewed Noodles 资源

What is an actor and why does Swift have them? 什么是 actor,为什么 Swift 有它们?

Swift’s actors are conceptually like classes that are safe to use in concurrent environments. This safety is made possible because Swift automatically ensures no two pieces of cod...
XuX的头像-Stewed Noodles 资源烩之面大会员XuX1年前
370
How to create and run a task 如何创建和运行任务-Stewed Noodles 资源

How to create and run a task 如何创建和运行任务

Swift’s Task struct lets us start running some work immediately, and optionally wait for the result to be returned. And it is optional: sometimes you don’t ca...
Understanding how global actor inference works 了解全局参与者推理的工作原理-Stewed Noodles 资源

Understanding how global actor inference works 了解全局参与者推理的工作原理

Apple explicitly annotates many of its types as being @MainActor, including most UIKit types such as UIView and UIButton. However, for a while the Swift team da...
XuX的头像-Stewed Noodles 资源烩之面大会员XuX1年前
360
How to convert an AsyncSequence into a Sequence 如何将 AsyncSequence 转换为 Sequence-Stewed Noodles 资源

How to convert an AsyncSequence into a Sequence 如何将 AsyncSequence 转换为 Sequence

Swift does not provide a built-in way of converting an AsyncSequence into a regular Sequence, but often you’ll want to make this conversion yourself so you don’t n...
How to create and use AsyncStreams to return buffered data 如何创建和使用 AsyncStreams 返回缓冲数据-Stewed Noodles 资源

How to create and use AsyncStreams to return buffered data 如何创建和使用 AsyncStreams 返回缓冲数据

AsyncStream and AsyncThrowingStream can be thought of a bit like continuations that can send back multiple values, but also like an AsyncSequence that is a...
How to call async throwing functions 如何调用异步 throwing 函数-Stewed Noodles 资源

How to call async throwing functions 如何调用异步 throwing 函数

Just like their synchronous counterparts, Swift’s async functions can be throwing or non-throwing depending on how you want them to behave. However, there is a twist: although we ...
XuX的头像-Stewed Noodles 资源烩之面大会员XuX1年前
0350
How to make parts of an actor nonisolated 如何使 actor 的各个部分非隔离-Stewed Noodles 资源

How to make parts of an actor nonisolated 如何使 actor 的各个部分非隔离

All methods and mutable properties inside an actor are isolated to that actor by default, which means they cannot be accessed directly from code that’s external to the actor. Acce...
XuX的头像-Stewed Noodles 资源烩之面大会员XuX1年前
340
Who decides which actor code runs on? 谁决定在哪个 actor 代码上运行?-Stewed Noodles 资源

Who decides which actor code runs on? 谁决定在哪个 actor 代码上运行?

One common confusion with actors comes in deciding exactly where code runs, because just adding @MainActor and hoping for the best is rarely good enough.与 Actor 的一个常...
XuX的头像-Stewed Noodles 资源烩之面大会员XuX1年前
340
What is a synchronous function? 什么是同步函数?-Stewed Noodles 资源

What is a synchronous function? 什么是同步函数?

By default, all Swift functions are synchronous, but what does that mean? A synchronous function is one that executes all its work in a simple, straight line on a single threa...
XuX的头像-Stewed Noodles 资源烩之面大会员XuX1年前
0320