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 확신 :
은 무엇 내가 최근에 해왔 던 것은 이것이다 결국 드문 시나리오입니까?
그냥봐 예제 그것에서 fulfill
또는 reject
를 호출, 어떤 대기열에 작업을 수행 할 수 있습니다