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()都解析为Stringdb.getreturns一个promise

我尝试过的事情:

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

提前致谢:)

我也在 GitHub 上向 PromiseKit 发布了这个问题,结果我用错了 'when':

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

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

前者returns一个数组,后者returns一个元组

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