Uncaught TypeError: Наблюдатель.next не является функцией - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь создать свой собственный класс Observable, и после передачи моего OBSERVER методу подписки OBSERVABLE я получил это исключение Uncaught TypeError: observer.next is not a function

Вот мой код (Исключение Возникает в наблюдатель.next ("получил данные!") )

class Observable {
    constructor(constr) {
        this._functionThatTakesObserver = constr;
    }

    subscribe(observer) {
        return this._functionThatTakesObserver(observer)
    }
}


let myObservable = new Observable(observer => {
        setTimeout(() => {
            observer.next("got data!")
            observer.complete()
        }, 6000)
    }
)
myObservable.subscribe(function next(data) {
        console.log(data)
    },
    function error(e) {
        console.log(e)
    },
    function complete() {
        console.log("request complete")
    })

Какое решение было бы возможно разрешить это исключение?

...