PromiseKit:resolve方法要求String和Void等效

时间:2019-10-24 13:50:06

标签: swift types swift5 promisekit

我正在尝试在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
}

我怀疑这完全是愚蠢的,但是这是怎么回事?

1 个答案:

答案 0 :(得分:3)

您应检查https://mxcl.dev/PromiseKit/news/2018/02/PromiseKit-6.0-Released/ 描述更改的位置:

  

Promise.init我们更改了主初始化程序:

     

承诺{兑现,拒绝参加

     

//…}   您现在拥有:

     

承诺{       // seal.fulfill(foo)       // seal.reject(错误)       // seal.resolve(foo,error)}

因此seal.fulfill("Foo")将适合您的情况