XCode 16.4 日本語化計画
与えられた throw する操作を、新しい 非構造化 のトップレベルタスクの一部として非同期的に実行します。
@discardableResult init( name: String? = nil, executorPreference taskExecutor: (any TaskExecutor)?, priority: TaskPriority? = nil, operation: sending @escaping () async throws -> Success
Success が Sendable に準拠し Failure が Any Error である場合時利用可能です。
name
人間が判読できるタスクの名前。
taskExecutor
子タスクが起動され、継続して使用されるタスクのエグゼキュータ。エグゼキュータ設定として明示的に nil を渡すと、設定なしと同等となり、実質的には外側のコンテキストのエグゼキュータ設定を継承することになります。globalConcurrentExecutor グローバル・エグゼキュータを明示的に渡すこともできます。
priority
操作タスクの優先度。
operation
実行すべき操作。
タスクへの参照。
operation (操作) でエラーを throw した場合、そのエラーは Task によってキャッチされ、タスクの value が待機されている場合にのみ再スローされます。タスクの結果値を待機しないことで、Task が誤ってエラーを無視しないように注意してください。
Task.cancel() メソッドを呼び出してタスクをキャンセルしたい場合は、タスクへの参照を保持する必要があります。タスクへの参照を破棄しても、そのタスクが暗黙的にキャンセルされるわけではなく、明示的にタスクをキャンセルできなくなるだけです。