Причина этого в том, что параметры метода of()
определены как параметр отдыха ...args
, поэтому они объединяются в массив, поэтому пустой массив передается.
rxjs / src / internal / observable / of.ts
export function of<T>(...args: Array<T | SchedulerLike>): Observable<T> {
let scheduler = args[args.length - 1] as SchedulerLike;
if (isScheduler(scheduler)) {
args.pop();
return scheduleArray(args as T[], scheduler);
} else {
return fromArray(args as T[]);
}
}
of(undefined)
превращается в [undefined]
, в этом случае undefined
испускается.
of()
превращается в []
, в этом случае ничего не излучается.
Что касается ошибки, я думаю, что она работает так, как они намеревались:
@ значения param {... T} Разделенный запятыми список аргументов, которые вы хотите передать
Исходя из этого, я бы сказал, что если вы ничего не передаете, ничего не должно выдаваться.