Open sceneren opened 2 years ago
这个需要根据实际业务进行处理,比如说zip三个请求,如果其中一个业务code不正确,是忽略其中一个还是整体不成立,由业务觉决定。
fun request() = flow { emit(apiService.request()) } fun request2() = flow { emit(apiService.request2()) } fun request3() = flow { emit(apiService.request3()) } viewModelScope.launch { request() .zip(request()2){ r1,r2->{ val list= mutableListOf<String>() // 如果request() 返回code不成功 整体抛异常 if(r1.code ==0){ list.addAll(r1.data) }else{ throw nullExcpt } if(r2.code==0){ // 如果request2()返回code不成功,则忽略 list.addAll(r2.data) } return@zip list } .zip(request()3){ r12,r3-> } .catch{ } .collect { } } }
这个需要根据实际业务进行处理,比如说zip三个请求,如果其中一个业务code不正确,是忽略其中一个还是整体不成立,由业务觉决定。