当我添加一些运算符时,返回值会更长,例如:
Publishers.FlatMap ,令牌>,AnyPublisher >
其实我希望用户只需要知道AnyPublisher足够。
有什么办法让我只能返回AnyPublisher而不是Publishers.FlatMap ,令牌>,AnyPublisher >
public func singleHTTPLoginSignal(ccCode:String, phone: String, authType:String,password: String) -> AnyPublisher<NetResponse<OauthToken>, Error>{
return API.shared.combine_loadModelResource(GetOauthTokenAPI(ccCode: ccCode, phone: phone, authType: authType,password: password), type: OauthToken.self)
}
///Map:NetResponse<MQTTToken> -> Token
public func singleMQTTLoginSignal(oauthToken: OauthToken) ->
Publishers.Map<AnyPublisher<NetResponse<MQTTToken>, Error>, Token>{
API.shared.combine_loadModelResource(GetMQTTTokenAPI(accessToken: oauthToken.access_token), type: MQTTToken.self).map({ response in
return Token(oauthToken: oauthToken, mqttToken: response.data!)
})
}
///AnyPublisher<Token, Error>
public func loginFullSignal(ccCode:String, phone: String, authType:String,password: String) -> Publishers.FlatMap<Publishers.Map<AnyPublisher<NetResponse<MQTTToken>, Error>, Token>, AnyPublisher<NetResponse<OauthToken>, Error>>
{
self.singleHTTPLoginSignal(ccCode:ccCode,phone:phone,authType:authType,password:password).flatMap{ response in
return self.singleMQTTLoginSignal(oauthToken: response.data!)
}
}