Это не опечатка.Если вы посмотрите на определение backgroundScheduler
10 строк над этим оператором, вы увидите, что это SerialDispatchQueueSceduler
.Это означает, что он ставит операции в очередь и выполняет их по порядку в фоновом потоке.
Они используют его, чтобы избежать аномалий повторного входа.Я предполагаю, что этот код был написан до того, как MainScheduler.asyncInstance
было помещено в библиотеку, что делает то же самое.
Более подробную информацию можно найти в библиотеке Rx:
- Проблема: это поведение нарушает грамматику наблюдаемой последовательности.
next (error | completed)?
Это поведение нарушает грамматику, потому что есть пересекающиеся события последовательности.Наблюдаемая последовательность пытается отправить событие до того, как завершится отправка предыдущего события. - Интерпретация: Это может означать, что в вашем коде есть какая-то непредвиденная циклическая зависимость или что система не ведет себя ожидаемым образомway.
- Помощь: Если это ожидаемое поведение, это сообщение может быть подавлено путем добавления
.observeOn(MainScheduler.asyncInstance)
или путем чередования событий последовательности другим способом.