我想在 Android 应用程序中实现位置自动完成,为此我使用 Retrofit 和 RxJava。我想在用户输入内容后每 2 秒做出一次响应。我正在尝试为此使用 debounce 运算符,但它不起作用。它立即给我结果,没有任何停顿。
mAutocompleteSearchApi.get(input, "(cities)", API_KEY)
.debounce(2, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.flatMap(prediction -> Observable.fromIterable(prediction.getPredictions()))
.subscribe(prediction -> {
Log.e(TAG, "rxAutocomplete : " + prediction.getStructuredFormatting().getMainText());
});