также может быть массивом этих сущностей
getArray<T>(restResult: T | T[]): T[] {
const resultType = this.getTypeOf(restResult);
switch (resultType) {
case 'Array':
return restResult.slice();
case 'Object':
// если объект пустой, то возвращаем [], а не [{}]
return Object.keys(restResult).length ? [restResult] : [];
case 'String':
case 'Number':
return Array.of(restResult);
case 'Undefined':
return [];
default:
console.warn(`Impossible get array from ${resultType}! Return empty array.`);
return [];
}
}
private getTypeOf<T>(obj: T): string {
return {}.toString.call(obj).slice(8, -1);
}
getArray<T>(restResult: T): T | T[] { ..... }
функция никогда не возвращает не массив
может дженерик тут не нужен
А как Observable работает?
при чем тут он
может нужно уделить уже пару месяцев TypeScript и JS - а потом переходить к Angular?
я с ангуляром работаю полгода
Так это к ангуляру не имеет никакого отношения. Учи основы TS
https://www.typescriptlang.org/docs/handbook/generics.html
да, смотрел этот сайт, не понимаю с моей ситуацией как соотнести
тогда пиши в канал по TS для тех кто его изучает. Тут больше по Ангуляр специфике принято писать. Поищи другие более понятные статьи по дженериркам
Обсуждают сегодня