PromiseKit:resolve 方法要求 String 和 Void 等价
PromiseKit: resolve method requires String and Void be equivalent
我正在尝试在 iOS Swift 5 应用程序中使用 PromiseKit v6,但我遇到了一个非常基本的问题。下面的代码会引发编译器错误:
let p1 = Promise<String> { seal in
seal.resolve("Foo"); /// Referencing instance method 'resolve' on 'Resolver'
/// requires the types 'String' and 'Void' be equivalent
}
我怀疑这是完全愚蠢的事情,但这里有什么问题吗?
你应该检查 https://mxcl.dev/PromiseKit/news/2018/02/PromiseKit-6.0-Released/
其中描述了更改:
Promise.init We altered the main initializer:
Promise { fulfill, reject in
//… }
You now have:
Promise { seal in
// seal.fulfill(foo)
// seal.reject(error)
// seal.resolve(foo, error) }
所以 seal.fulfill("Foo")
将适用于您的情况
我正在尝试在 iOS Swift 5 应用程序中使用 PromiseKit v6,但我遇到了一个非常基本的问题。下面的代码会引发编译器错误:
let p1 = Promise<String> { seal in
seal.resolve("Foo"); /// Referencing instance method 'resolve' on 'Resolver'
/// requires the types 'String' and 'Void' be equivalent
}
我怀疑这是完全愚蠢的事情,但这里有什么问题吗?
你应该检查 https://mxcl.dev/PromiseKit/news/2018/02/PromiseKit-6.0-Released/ 其中描述了更改:
Promise.init We altered the main initializer:
Promise { fulfill, reject in
//… } You now have:
Promise { seal in // seal.fulfill(foo) // seal.reject(error) // seal.resolve(foo, error) }
所以 seal.fulfill("Foo")
将适用于您的情况