PromiseKit 6:无法使用类型为“((String, String) -> Promise<Data>)”的参数列表调用 'then'
PromiseKit 6: Cannot invoke 'then' with an argument list of type '((String, String) -> Promise<Data>)'
我有一个 when(fulfilled: [Thenable])
returns Promise<(String, String)>
,但是当我尝试在我的 then
块中使用这些参数时,我收到以下错误:
Cannot invoke 'then' with an argument list of type '((String, String) -> Promise)
我的代码如下:
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
returns一个promise
。
我尝试过的事情:
- 明确表达类型
- 清理并构建
有谁知道我该如何解决这个问题?
提前致谢:)
我也在 GitHub 上向 PromiseKit 发布了这个问题,结果我用错了 'when':
是:return when(fulfilled: [auth.currentUserIdPromise(), auth.getIdToken()])
现在:return when(fulfilled: auth.currentUserIdPromise(), auth.getIdToken())
前者returns一个数组,后者returns一个元组
我有一个 when(fulfilled: [Thenable])
returns Promise<(String, String)>
,但是当我尝试在我的 then
块中使用这些参数时,我收到以下错误:
Cannot invoke 'then' with an argument list of type '((String, String) -> Promise)
我的代码如下:
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
returns一个promise
。
我尝试过的事情:
- 明确表达类型
- 清理并构建
有谁知道我该如何解决这个问题?
提前致谢:)
我也在 GitHub 上向 PromiseKit 发布了这个问题,结果我用错了 'when':
是:return when(fulfilled: [auth.currentUserIdPromise(), auth.getIdToken()])
现在:return when(fulfilled: auth.currentUserIdPromise(), auth.getIdToken())
前者returns一个数组,后者returns一个元组