Создание ресурсов в Angular - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь создать несколько ресурсов с помощью одной функции.

Прямо сейчас у меня есть эта функция:

getResource(id) {
let url = this.databaseURL + 'rest/resource/' + id;
return this.http.get(url)
  .map(res => res);
}

и затем в классе я запускаю ресурсы:

resource1 = [];
resource2 = [];

и в конструкторе я звоню:

this.getResource('resource1')
      .subscribe(data => {
        this.resource1 = data;
          }
        }
      });

this.getResource('resource2')
      .subscribe(data => {
        this.resource2 = data;
          }
        }
      });

Как вы можете видеть, это повторяющийся код (и мне приходится вызывать много ресурсов). Я не знаю, можете ли вы сделать что-то вроде создания функции

this.getResources(arrayResources)
  .subscribe(data => {
    this.resource1 = data;
      }
    }
  });

и в конструкторе

arrayResources = ['resource1', 'resource2']

this.getResources(arrayResources)

Но так как вы должны подписаться на этот getResources, а также ресурсы не определены в классе, я немного теряю, и я не знаю, как я мог это сделать ... вы думаете об одном?

1 Ответ

0 голосов
/ 08 мая 2018

Может быть что-то вроде этого (я делаю код из головы):

this.arrayResources = new Array(10);

for(i=0; i<this.arrayResources.length; i++)
{
    this.getResource('resource'+i)
      .subscribe(data => {
        this.arrayResources[i] = data;
          }
        }
      });
}

Я не использую отдельный массив для имен ресурсов, однако его легко ввести и ввести в цикл for.

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