如何实现nil promise swift

时间:2016-07-05 22:20:09

标签: ios swift promise promisekit

我想用nil履行承诺,但我收到错误消息,我不能在这里是我的代码

public static func getCurrentDevice() -> Promise<Device>{
    if let identity:[String:AnyObject] = auth?.get("identity") as! [String:AnyObject] {
        if let uuididentity = identity["uuid"]{
         return Promise { fulfill, reject in
            Alamofire.request( Router.getDevice(uuididentity as! String) )
                .responseObject { (response: Response<Device, NSError>) in
                    switch response.result{
                    case .Success(let data):
                        fulfill(data)
                    case .Failure(let error):
                        return reject(error)
                    }
            }
        }
    }
}
return Promise { fulfill, reject in
        fulfill(nil)
    }
}

我收到编译错误  无法为“承诺&lt; &gt;”类型调用初始值设定项参数列表类型为'((,_) - &gt; _)'

1 个答案:

答案 0 :(得分:3)

如果承诺没有返回值,您应该使用()又称Void

return Promise { fulfill, reject in
    fulfill(())
}

如果这不起作用(我没有测试过),你可以尝试注释它:

return Promise<()> { fulfill, reject in
    fulfill(())
}

(请注意,()是类型()的唯一值{aka Void