[英]Android call Rest API in a loop
我是android新手,所以對api
調用有一些疑問。
目前,我使用Retrofit完成我的api調用。
這是經過改造的我的api調用示例
@POST("posts/new")
fun createPost(@Body post: Post, @Header("Authorization") token: String): Single<PostResult>
因此,假設我有10個帖子,並且我需要調用createPost
10次(是的,我知道我可以在BE端輸入list
,但是...)。 最好的方法是遍歷帖子( for/map
)並將其發送到服務器。
但是這里有問題:
-如何跟蹤所有通話已完成?
在JS中我可以有類似Promise.all
東西-我可以在android中做類似的事情嗎?
我考慮過計算已完成的請求與已開始的請求,但我認為這有點丑陋嗎?
您的問題很廣泛。 您可以使用RxJava進行壓縮,或使用協程進行異步/等待或其他方法。
最終使用了.zip
Single.zip(observables) { args -> args }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ ...Success }, { ...Failure })
為了使響應成功,您需要再次調用get / post方法。 成功后,您知道您的api調用已完成,否則會引發錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.