0
我在使用AFNetworking
使服務呼叫的應用以下情形:AFHTTPRequestOperation依賴
- 我稱之爲一種特殊的服務,將產生對我來說令牌
- 我打電話,我想要的服務,發送此令牌作爲參數
- 我調用另一個特殊服務來銷燬令牌。
我必須按照我每次向服務器請求時這3個步驟。我無法改變服務器的工作方式,所以我必須遵守這個要求。我也不能對多個請求使用相同的標記。
我的問題是下面的 - 我試圖做到這一點使用AFHTTPRequestOperation
S:
NSError *serializationError = nil;
NSMutableURLRequest *request = [self.manager.requestSerializer requestWithMethod:@"POST" URLString:[[NSURL URLWithString:@"serviceName.json" relativeToURL:self.manager.baseURL] absoluteString] parameters:@{ @"token": token } error:&serializationError];
AFHTTPRequestOperation *myRequestOperation = [self.manager HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {
// Success login
} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
// Failure logic
}];
[myRequestOperation addDependency:createTokenRequestOperation];
其中self.manager
是AFHTTPRequestOperationManager
一個實例,但有一個問題 - 我沒有價值token
。
由於myRequestOperation
應該只在上面的列表中的第1點後執行,所以我使它依賴於將使我獲得令牌的操作。
現在我的困惑 - 我如何創建一個操作,使用前一個操作中的參數,當我需要將它們兩個實例化以使其中一個依賴另一個時?
我quess您可以創建一個*變量*在某個對象或當前的操作調用者中出現。當第一個操作完成時,它將令牌設置爲這個*變量*。當下一個操作被調用時,它會檢查這個*變量*中是否有一個值。 – Massmaker