Возвращаемое значение из наблюдаемой операции в угловых? - PullRequest
0 голосов
/ 27 мая 2018

Я работаю в Angular, и проблема, по-видимому, заключается в следующем: когда я подписываюсь на наблюдаемое в моем компоненте, я могу успешно console.log () данные, но я не могу присвоить данные каким-либо ранее объявленным переменным и просмотреть их вшаблон представления.Вот код: я понимаю, что вход в консоль является синхронным процессом, в то время как наблюдаемая подписка сама по себе является асинхронной, но вывод значения из асинхронной операции в шаблон представления, похоже, является проблемой.Я видел множество решений по переполнению стека, но это не решает проблему, поскольку не решает проблему такого рода. Это образец кода

  //The getData function returns an obsverbale
  favoriteShirt;
  
  const gtc = this;
  gtc.getData().subscribe({
          next: (data) => { 
            console.log(data.favShirtFromStore) // this returns an objects with the shirts (this is a sync op)
            gtc.favoriteShirt = data.favShirtFromStore; //this returns undefined <= where the problem is
           },
           error:(err)=>{console.log(`There was an error ${err}`)},
           complete:()=>{console.log("Completed...")}
        });;

1 Ответ

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

Почему бы вам не использовать это следующим образом:

gtc.getData().subscribe(res => { 
    //whatever you want to do with res 
});

здесь res возвращает данные из вашей функции, и вы можете использовать их так, как хотите, например, присвоить их другой переменной ии так далее ...

...