create

Observable<String>.create { (observer) -> Disposable in
    guard let url = URL(string: "<https://www.apple.com>") else {
        observer.onError(MyError.error)
        return Disposables.create()
    }
    guard let html = try? String(contentsOf: url, encoding: .utf8) else {
        observer.onError(MyError.error)
        return Disposables.create()
    }
    
    observer.onNext(html)
    observer.onCompleted()
    return Disposables.create()
}

create 연산자를 통해서 옵저버블의 동작을 직접 구현한다.

onNext, onConpleted, onError