Показать сообщение отдельно
  #5 (permalink)  
Старый 08.08.2017, 14:22
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Цитата:
А в чем смысл? Использовать разную реализацию в зависимости от входных параметров - это понятно.
иногда бывает удобно делать так. Вот например перегрузка функции get из пакета http
get(url: string, options: {
    headers?: HttpHeaders,
    observe: 'response', params?: HttpParams, reportProgress?: boolean,
    responseType: 'arraybuffer', withCredentials?: boolean,
  }): Observable<HttpResponse<ArrayBuffer>>;

get(url: string, options: {
    headers?: HttpHeaders,
    observe: 'response', params?: HttpParams, reportProgress?: boolean,
    responseType: 'blob', withCredentials?: boolean,
  }): Observable<HttpResponse<Blob>>;

get(url: string, options: {
    headers?: HttpHeaders,
    observe: 'response', params?: HttpParams, reportProgress?: boolean,
    responseType: 'text', withCredentials?: boolean,
  }): Observable<HttpResponse<string>>;

а если переписать вместе, получится каша
get(url: string, options: {
    headers?: HttpHeaders,
    observe: 'response', params?: HttpParams, reportProgress?: boolean,
    responseType: 'arraybuffer' | 'blob' | 'text', withCredentials?: boolean,
  }): Observable<HttpResponse<ArrayBuffer>> | Observable<HttpResponse<Blob>> | Observable<HttpResponse<string>>;


Цитата:
Но плодить пустые функции...
Ещё раз - функция будет одна. Всё что до реализации этой самой функции, для интерпретатора, чтобы он не ругался, когда я буду ждать тот или иной возвращаемый тип или передавать в функцию разные параметры.
Ответить с цитированием