PromiseKit 无法将类型 '[Result<TYPE>]' 的值分配给类型 '[TYPE]

Posted

技术标签:

【中文标题】PromiseKit 无法将类型 \'[Result<TYPE>]\' 的值分配给类型 \'[TYPE]【英文标题】:PromiseKit Cannot assign value of type '[Result<TYPE>]' to type '[TYPE]PromiseKit 无法将类型 '[Result<TYPE>]' 的值分配给类型 '[TYPE] 【发布时间】:2017-12-26 07:34:24 【问题描述】:

使用PromiseKit,我正在尝试将when 块的输出设置为局部变量allChatRooms

var allChatRooms : [ChatRoom]
var chatRoomIDs : [String:Bool] = ...
 firstly 

        when(resolved: chatRoomIDs.mapfetchChatRoom(id: $0.key))

    .then  chatRooms -> Void in

         allChatRooms = chatRooms <-- Error here

     

编译器错误是:

注意:(ChatRoomKChatRoom是一样的)

如何将结果设置为allChatRooms 变量?

【问题讨论】:

投票支持与我的问题相关的问题。谢谢。 【参考方案1】:

解决方法很简单,我打错了when 块。相反,它应该是fulfilled 而不是resolved

when(fulfilled: chatRoomIDs.mapfetchChatRoom(id: $0.key))

【讨论】:

以上是关于PromiseKit 无法将类型 '[Result<TYPE>]' 的值分配给类型 '[TYPE]的主要内容,如果未能解决你的问题,请参考以下文章

更新 PromiseKit 后出错:无法将“PMKFinalizer”类型的值转换为预期的参数类型“Promise<Void>”

PromiseKit 6 在没有上下文类型的情况下无法解析对成员“值”的引用

使用 PromiseKit 6 在 Swift 4.2 中缓存

PromiseKit 6:无法使用类型为“((String,String)-> Promise<Data>)”的参数列表调用“then”

PromiseKit:无法在 then 处理程序之间调用自定义代码

PromiseKit ios Swift 闭包返回类型问题