Что делает источник в kendo-scheduler base-edit.service? - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь понять пример службы редактирования ( ссылка ) в kendo-ui для angular для планировщика (который находится в бета-версии).Класс EditService расширяет BaseEditService.

Функция read () для editService в моем коде выглядит следующим образом:

public read(): void {
    if (this.data.length) {
        this.source.next(this.data);
        return;
    }

    this.fetch().subscribe(data => {
        this.data = data.map(item => this.readEvent(item));
        this.source.next(this.data);
    },null, null
    );
}

Я не понимаю, что такое this.source.next (this.data) делает.

Согласно base-edit.service.d.ts:

/**
* The source subject for the `events` observable.
*/
protected source: BehaviorSubject<TEvent[]>;

При более глубоком анализе объекта BehaviorSubject (из RxJS) обнаруживаетсяcomment

* A variant of Subject that requires an initial value and emits its current
* value whenever it is subscribed to.

Я начинаю думать, что this.data необходим для ввода в this.source.next (), и причина, по которой он не выполняется в одной строке, как в следующем

 this.source.next(data.map(item => this.readEvent(item)));

потому что он необходим для оператора if, когда данные уже существуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...