PromiseKitは、非メインスレッドでチェーンの一部を実行するための便利なメソッドthenOn
を提供します。しかし、最初の約束の実行スレッドを設定する便利な方法はないようです。PromiseKit firstlyOnスタイルメソッド
これは、私が最初の約束の中にDispatchQueue.global(x).async
を入れるか、ダミーの最初の約束を使うことを意味します。
DispatchQueueビットを私の最初の約束事に置くと、壊れているように感じられます。主な実行チェーンのスレッド決定を個々の約束事に移していますが、その約束のためです。後で私のチェーンに約束を前もって置くと、そのスレッディングロジックを動かす必要があります。私は最近何をしてきた
はこれです:
let queue = DispatchQueue.global(qos: .userInitiated)
Promise(value:()).then(on: queue) {
// Now run first promise function
}
これは間違いなくクリーンなソリューションですが、誰もが も、よりよい解決策を知っていたならば、私は思っていた...私はこのISN確信しています結局、まれなシナリオでしょうか?