我有一个返回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
。
我尝试过的事情:
有人知道我该如何解决这个问题?
预先感谢:)
答案 0 :(得分:0)
我还将这个问题发布到GitHub上的PromiseKit上,结果证明我使用了错误的'when':
WAS:return when(fulfilled: [auth.currentUserIdPromise(), auth.getIdToken()])
现在:return when(fulfilled: auth.currentUserIdPromise(), auth.getIdToken())
前者返回一个数组,而后者返回一个元组。