Verwenden Sie PromiseKit, um den sequenziellen Download zu erzwingen

Ich verwende PromiseKit und möchte das sequentielle Herunterladen von JSONs erzwingen. Die Anzahl der JSONs kann sich ändern.

Ich habe gelesenDie über die Verkettung. Wenn ich eine feste Anzahl von 3 Downloads hätte, wäre das in Ordnung.

Aber was ist, wenn sich die Anzahl der Downloads ändert, die ich nacheinander herunterladen möchte?

Dies ist mein Code für 2 URLs. Ich frage mich, wie ich das mit @ machen könndateUrlArray[i] Iteration über das Array?

 - (void)downloadJSONWithPromiseKitDateArray:(NSMutableArray *)dateUrlArray {
    [self.operationManager GET:dateUrlArray[0]
                    parameters:nil]
    .then(^(id responseObject, AFHTTPRequestOperation *operation) {
        NSDictionary *resultDictionary = (NSDictionary *) responseObject;
        Menu *menu = [JsonMapper mapMenuFromDictionary:resultDictionary];
        if (menu) {
            [[DataAccess instance] addMenuToRealm:menu];
        }
        return [self.operationManager GET:dateUrlArray[1]
                               parameters:nil];
    }).then(^(id responseObject, AFHTTPRequestOperation *operation) {
        NSDictionary *resultDictionary = (NSDictionary *) responseObject;

        Menu *menu = [JsonMapper mapMenuFromDictionary:resultDictionary];
        if (menu) {
            [[DataAccess instance] addMenuToRealm:menu];
        }
    })
    .catch(^(NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            [self handleCatchwithError:error];
        });
    }).finally(^{
        dispatch_async(dispatch_get_main_queue(), ^{
            DDLogInfo(@".....finally");
        });
    });
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage