イニシャライザー


init(name:executorPreference:priority:
operation:)


与えられた throw する操作を、新しい 非構造化 のトップレベルタスクの一部として非同期的に実行します。


iOS 18.0+ iPadOS 18.0+ Mac Catalyst 18.0+ macOS 15.0+

tvOS 18.0+ visionOS 2.0+ watchOS 11.0+

@discardableResult
init(
    name: String? = nil,
    executorPreference taskExecutor: (any TaskExecutor)?,
    priority: TaskPriority? = nil,
    operation: sending @escaping () async throws -> Success

SuccessSendable に準拠し FailureAny Error である場合時利用可能です。





パラメータ


name

人間が判読できるタスクの名前。


taskExecutor

子タスクが起動され、継続して使用されるタスクのエグゼキュータ。エグゼキュータ設定として明示的に nil を渡すと、設定なしと同等となり、実質的には外側のコンテキストのエグゼキュータ設定を継承することになります。globalConcurrentExecutor グローバル・エグゼキュータを明示的に渡すこともできます。


priority

操作タスクの優先度。


operation

実行すべき操作。



戻り値


タスクへの参照。



議論


operation (操作) でエラーを throw した場合、そのエラーは Task によってキャッチされ、タスクの value が待機されている場合にのみ再スローされます。タスクの結果値を待機しないことで、Task が誤ってエラーを無視しないように注意してください。


Task.cancel() メソッドを呼び出してタスクをキャンセルしたい場合は、タスクへの参照を保持する必要があります。タスクへの参照を破棄しても、そのタスクが暗黙的にキャンセルされるわけではなく、明示的にタスクをキャンセルできなくなるだけです。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ