ios 承诺 6 - 无法将 '(_) -> Environment' 类型的值转换为预期的参数类型 '(_) -> _'



我正在从promiseKit 4.3 -> 6迁移,并卡在这个错误上。任何帮助将不胜感激。谢谢

错误 - "无法将类型'() -> 环境' 的值转换为预期的参数类型'() -> _'">

open func run() -> Promise<Environment> {
return GetSettingsQuery().run().then { result -> Environment in
var environment = Environment.certification
if let dict = result.data as? Dictionary<String, AnyObject>,
let environementRaw = dict[“ABC”] as? Int,
let env = Environment(rawValue: environementRaw) {
environment = env
}
return environment
}
}

正如 PromiseKit 文档中的迁移指南和故障排除指南所说,您需要将then替换为map

open func run() -> Promise<Environment> {
return GetSettingsQuery().run().map { result -> Environment in
var environment = Environment.certification
if let dict = result.data as? Dictionary<String, AnyObject>,
let environementRaw = dict[“ABC”] as? Int,
let env = Environment(rawValue: environementRaw) {
environment = env
}
return environment
}
}

通常建议阅读项目的文档,尤其是在升级项目的主要版本时。

切勿在未先阅读发行说明的情况下升级库的主要版本,PromiseKit v6 的发行说明多次描述了您的确切问题。

将依赖项固定到主要版本,所有包管理器都支持此功能,所有包管理器的文档都告诉您固定依赖项主要版本。

相关内容

最新更新