任务组`async`与`spawn`的区别。

6

我认为 async 可能已经被弃用了。 - aheze
@aheze 真的吗?那太酷了。但是我看到的是 add 被弃用了,也许你想说的是那个? - matt
@Rob 哦不!我真的希望这个情况会有所改变。在这里使用“async”名称是非常错误的。 - matt
1个回答

5

SE-0304告诉我们,spawn在第二次审查中被重命名为async

  • TaskGroup.spawnTaskGroup.spawnUnlessCancelled已被重命名为TaskGroup.asyncTaskGroup.asyncUnlessCancelled这将是它们的最终名称。这使得命名与重命名的async let保持一致,表示创建子任务的单词。

斜体部分随后被删除,并且第三次审查又重新命名了它:

  • TaskGroup.asyncTaskGroup.asyncUnlessCancelled重命名为TaskGroup.addTaskTaskGroup.addTaskUnlessCancelled。这里的基本行为是向组中添加任务。仅使用add不足够,因为我们没有添加一个值(可以通过next()访问),而是添加了一个任务,其值可以通过next()访问。这也与使用Task { ... }创建顶级任务的用法相似。

1
我会等待看看这是否真的发生了...第二次审查中有一些事情在测试版中并没有发生。但我认为它们会发生。:( - matt
他们将独立的“async”更改为“Task.init”,但他们对TaskGroup“async”没有做任何事情。我更喜欢“spawn”或“add”。 - matt
正如您所知,现在是“addTask”。 - Rob
是的,我认为那样会更好。 - matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接