如何转换:
func getResults(completion: ([Result]?, Error) -> Void)
进入
var resultsPublisher: AnyPublisher<[Result], Error>
只是一个我所看到的方案(此语法不存在:]:>
var resultsPublisher: AnyPublisher<[Result], Error> { let publisher: AnyPublisher = ... // init getResults { results, error in guard let results = results else { publisher.produce(error: error) // this syntax doesn't exist return } publisher.produce(results: results) // this syntax doesn't exist } return publisher }
我需要这样做,因为某些3d各方SDK使用
completion closures
,并且我想向它们编写扩展名以返回Publishers
。
如何转换:func getResults(completion:([[Result] ?, Error)-> Void)Into var resultsPublisher:AnyPublisher只是我所看到的一种方案(此语法不存在):...
答案是Future
发布者,如matt
所述: