PromiseKit 6:无法使用类型为(((String,String)-> Promise <data>)''的参数列表调用'then'

时间:2018-10-19 11:43:33

标签: swift promise promisekit

我有一个返回when(fulfilled: [Thenable])的{​​{1}},但是当我尝试在Promise<(String, String)>块中使用这些参数时,出现以下错误:

  

无法使用类型为(((String,String)-> Promise)

的参数列表调用'then'

我的代码如下:

then

如果不清楚,func fetchAll(includeClosed: Bool) -> Promise<AccountInformation> { return when(fulfilled: [auth.currentUserIdPromise(), auth.getIdToken()]) .then { (uid, token) in self.db.get(userID: uid, uri: "accounts", token: token) } .then { /* Some more stuff */ } } } auth.currentUserIdPromise()都解析为auth.getIdToken(),而String返回db.get

我尝试过的事情:

  • 明确表达类型
  • 清理并构建

有人知道我该如何解决这个问题?

预先感谢:)

1 个答案:

答案 0 :(得分:0)

我还将这个问题发布到GitHub上的PromiseKit上,结果证明我使用了错误的'when':

WAS:return when(fulfilled: [auth.currentUserIdPromise(), auth.getIdToken()])

现在:return when(fulfilled: auth.currentUserIdPromise(), auth.getIdToken())

前者返回一个数组,而后者返回一个元组。

https://github.com/mxcl/PromiseKit/issues/943