我的应用程序通过某种方式提交重复的数据,我想通过设置同步的Submit方法来防止第二次调用必须等待第一次完成来防止这种情况,因此将提交的数据本地删除。
static synchronized public void submitStatistics(final User user,
final Consumer<String> onSuccess, final Consumer<Enum.ErrorCode> onError) {
JSONArray statistics = Statistic.getAllItemsAndConvertToJSONString();
Rx2AndroidNetworking.post(urlBuilder(SUBMIT_STATISTICS))
.addQueryParameter(getDefaultParams())
.addJSONArrayBody(statistics)
.build()
.getStringObservable()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new ObserverWrapper<String>(errorCode -> {
onError.accept(errorCode);
}) {
@Override
protected void onSuccess(String s) {
Statistic.deleteSubmittedItems();
onSuccess.accept(s);
}
});
}
调用
时服务器上的数据将重复submitStatistics();
submitStatistics();
我正在寻找在我的应用程序中同时调用两次的原因,但我想知道如何在这种情况下同步应用。目前,两个帖子同时发送。请指教。谢谢