【发布时间】:2016-01-22 19:20:30
【问题描述】:
我有 3 个承诺,每个承诺单独运作:
DataManager.reverseGeoCodePromise("42.527328", longitude: "-83.146928").then { data in
print("Zip \(data)")
}
DataManager.getEnviroUVWithZipPromise("48073").then { data in
print("UV \(data.getUVIndex())")
}
DataManager.getCurrentForZipPromise("48073").then { data in
print("AirNow \(data[0].Latitude)")
}
我一直在尝试遵循 (sparce) 关于 promisekit 3 的快速文档(以及用尽的谷歌和堆栈溢出)。我尝试链接这些异步方法根本不是同步执行的——所有的 print(data) 都是空的,但是方法中的断点显示了数据。
DataManager.reverseGeoCodePromise("42.527328", longitude: "-83.146928").then { data in
print("Promise Zip \(data)")
}.then { data -> Void in
DataManager.getEnviroUVWithZipPromise("48073")
print("Promise Enviro \(data)")
}.then { data -> Void in
DataManager.getCurrentForZipPromise("48073")
print("Promise AirNow \(data)")
}.error { error in
print("Promise doh!")
}
我希望将第一次调用 (zip) 中的数据传递给后续调用,并能够处理最后一次调用之后的所有调用中的数据。任何见解都非常感谢!
【问题讨论】:
-
在此处查看我的答案以了解语法。 stackoverflow.com/questions/34501537/…
标签: swift2 promisekit