Как вызвать множественную подписку в цикле - PullRequest
0 голосов
/ 20 июня 2019

Это мой код:

executeService(): void {
  var node = this.node;
  while(node.val != 0){
    this.httpClientService.executeService(node).
    subscribe( data => {
      alert("Run successfully");
      this.output = data; // getting value in this.output
      // Service call to update table.
    });
    node = node.childNode;
    node.prevOutput = this.output; // not getting output
  }
}

Я не могу получить выходное значение за пределами закрытия подписки.

1 Ответ

0 голосов
/ 20 июня 2019

Пожалуйста, поделитесь своей структурой данных Node, но вы можете использовать рекурсивный вызов:

executeService():void{
  recursiveServiceCall(this.node);
}

 recursiveServiceCall(node:any){

  this.httpClientService.executeService(node).
   subscribe( data => {
      node.prevOutput=data;
      if(node.childNode && node.val !=0)
         recursiveServiceCall(node.childNode);
      });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...