使用key获取json时如何发出错误

时间:2017-04-05 16:35:43

标签: rx-swift rxalamofire

我正在使用RxAlamorefire处理我的应用中的网络任务。

我的问题是:当我发出请求并返回json时。如果json有一个键"错误"我需要发出错误通知而不是onNext通知。

我的代码就像这样:

testUser=root
testPassword=
testServerName=127.0.0.1
testDatabaseName=koalatest
testPortNumber=3306</code>

1 个答案:

答案 0 :(得分:1)

map内,您可以使用throw关键字发送和错误

let observable = request.map { (json) -> SomeObject in
  if let error = json["error"] as? [AnyHashable: Any] {
    throw Mapper<ErrorObject>().map(JSONObject: error)
  } else {
    // regular deserialization
  }
}

当json包含ErrorObject键时,这将导致观察者发出error类型的错误。