我正在将PromiseKit集成到我们当前的系统中,并且我需要链的catch部分使用2个参数。我希望我捕获的内容使用error, fetcher,而不仅仅是error。做这件事最好的方法是什么?
infoPromise.then { objects in
print(objects)
}.catch { error in /* error, fetcher in */
print(error)
}我曾考虑将fetcher作为NSError上的userInfo字典的一部分,但如果可能的话,我更喜欢将它作为一个单独的参数。
编辑-更多信息:
这是我正在使用的适配器。从我现有的系统返回onError中的fetcher。
- (AnyPromise *)fetchAll:(NSString *)entityName {
return [AnyPromise promiseWithAdapterBlock:^(PMKAdapter _Nonnull adapter) {
[self fetchAll:entityName onComplete:^(NSArray *results) {
adapter(results,nil);
} onError:^(ICSHTTPFetcher *fetcher, NSError *error) {
adapter(nil,error);
}];
}];
}https://stackoverflow.com/questions/44441110
复制相似问题