1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/DKJone-RxSwift-document-translation

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Debugging_Operators.md 2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 04:47 73ec4a0

Приложение (1): отладка

Для удобства отладки операторов Rx-кода.

debug

Печатает множество подписок, событий и удалений:

example("debug") {
    let disposeBag = DisposeBag()
    var count = 1

    let sequenceThatErrors = Observable<String>.create { observer in
        observer.onNext("🍎")
        observer.onNext("🍐")
        observer.onNext("🍊")

        if count < 5 {
            observer.onError(TestError.test)
            print("Error encountered")
            count += 1
        }

        observer.onNext("🐶")
        observer.onNext("🐱")
        observer.onNext("🐭")
        observer.onCompleted()

        return Disposables.create()
    }

    sequenceThatErrors
        .retry(3)
        .debug()
        .subscribe(onNext: { print($0) })
        .addDisposableTo(disposeBag)
}

RxSwift.Resources.total

RxSwift.Resources.total предоставляет счётчик для всех выделений, чтобы наблюдать за возможными утечками памяти:

#if NOT_IN_PLAYGROUND
#else
example("RxSwift.Resources.total") {
    print(RxSwift.Resources.total)

    let disposeBag = DisposeBag()

    print(RxSwift.Resources.total)

    let variable = Variable("🍎")

    let subscription1 = variable.asObservable().subscribe(onNext: { print($0) })

    print(RxSwift.Resources.total)

    let subscription2 = variable.asObservable().subscribe(onNext: { print($0) })

    print(RxSwift.Resources.total)

    subscription1.dispose()

    print(RxSwift.Resources.total)

    subscription2.dispose()

    print(RxSwift.Resources.total)
}

print(RxSwift.Resources.total)
#endif

RxSwift.Resources.total по умолчанию недоступен и обычно не включается в выпущенные версии. Подробнее о том, как сделать его доступным.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/DKJone-RxSwift-document-translation.git
git@api.gitlife.ru:oschina-mirror/DKJone-RxSwift-document-translation.git
oschina-mirror
DKJone-RxSwift-document-translation
DKJone-RxSwift-document-translation
master