Verketten Sie mehrere Alamofire-Anfragen

Ich bin auf der Suche nach guten Muster, mit denen ich Kette können mehrere HTTP-requests. Ich will Swift, und vorzugsweise Alamofire.

Sagen, zum Beispiel, ich möchte Folgendes tun:

  1. Eine PUT-Anfrage
  2. Sie eine GET-Anforderung
  3. Reload-Tabelle mit Daten

Es scheint, dass das Konzept der verspricht vielleicht eine gute Passform für diese. PromiseKit könnte eine gute option sein, wenn ich tun könnte etwas wie diese:

NSURLConnection.promise(
    Alamofire.request(
        Router.Put(url: "http://httbin.org/put")
    )
).then { (request, response, data, error) in
    Alamofire.request(
        Router.Get(url: "http://httbin.org/get")
    )   
}.then { (request, response, data, error) in
    //Process data
}.then { () -> () in
    //Reload table
}

aber das ist nicht möglich oder zu mindestens bin ich mir dessen nicht bewusst.

Wie kann ich diese Funktionalität erreichen, ohne Verschachtelung mehrerer Methoden?

Ich bin neu in iOS also vielleicht gibt es etwas grundlegenderes, das fehlt mir. Was ich getan habe, in anderen frameworks wie Android ist, um diese Vorgänge auszuführen, die in einem hintergrund-Prozess und stellen die Anfragen synchron. Aber Alamofire ist inhärent asynchronso dass Muster nicht eine option.

InformationsquelleAutor der Frage jlhonora | 2015-02-20

Schreibe einen Kommentar