Это нормальное поведение:
1) Ваш x не определен
x: строка;
//should be
x = '';
2) Наблюдаемыеработать асинхронно, что означает, что если вы хотите использовать возврат x через this.twitchService.getUserID(this.Tw_Username)
, вам нужно использовать канал и операторы rxjs, потому что попытка получить доступ к глобальной переменной, значение которой установлено асинхронно, не является хорошей идеей, так как трудно узнать значениех будет установлен, т.е. когда ваш Observable будет срабатывать. Однако для привязки шаблона весьма полезно связать вашу глобальную переменную, если вы установили начальное значение, см. (1)
this.twitchService.getUserID(this.Tw_Username)
.pipe(tap(data)=>{ //or any other operator ie map/switchMap etc...
//do the thing you want to do to the data
})
.subscribe()
для получения дополнительной информации: https://www.learnrxjs.io/operators/