【发布时间】:2017-06-08 16:29:14
【问题描述】:
我正在将 PromiseKit 集成到我们当前的系统中,我需要链的 catch 部分来使用 2 个参数。我希望我的捕获使用error, fetcher 而不仅仅是错误。最好的方法是什么?
infoPromise.then { objects in
print(objects)
}.catch { error in /* error, fetcher in */
print(error)
}
我曾考虑将fetcher 包含在NSError 上的userInfo 字典中,但如果可能的话,我更愿意将其作为单独的参数。
编辑 - 更多信息:
这是我正在使用的适配器。 fetcher 在我现有系统的onError 中返回。
- (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);
}];
}];
}
【问题讨论】:
-
什么是 fetcher - 它来自哪里?
标签: swift swift3 promisekit