Как создать объект из метода stati c, который принимает функцию - PullRequest
0 голосов
/ 09 марта 2020
 static fromDto(httpClient: HttpClient, adalSvc: MsAdalAngular6Service) {
        return (dto: Dto) => {
          return new Note(httpClient, dto.xxx, adalSvc);

        };
   }

Как получить объект Note из этого метода stati c в машинописи. Я создал объект Dto и пытаюсь передать его этому методу, который даст мне объект Note, но не может этого сделать.

То, что я сделал, было

const notes = dtos.map(d => {
Note.fromDto(null, null).apply(d); });

подскажите, пожалуйста, как это сделать?

1 Ответ

1 голос
/ 09 марта 2020

Ваш fromDto возвращает функцию, сигнатура которой соответствует функции обратного вызова массива map. В настоящий момент ваш map обратный вызов ничего не возвращает, поэтому будет выдан массив undefined значений.

Вы можете использовать длинную версию и вернуться из обратного вызова:

const notes = dtos.map(d => {
  return Note.fromDto(null, null)(d); 
});

Или немного более короткая версия с однострочным телом:

const notes = dtos.map(d => Note.fromDto(null, null)(d));

Или вы можете передать функцию в качестве обратного вызова:

const notes = dtos.map(Note.fromDto(null, null));

DEMO: https://stackblitz.com/edit/angular-nsdpcr

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