我有返回可觀察到的包含字符串,像這樣一個功能:angular2越來越字串值,可觀察到局部變量
retrieveDialingCode(countrycode: string): Observable<any> {
return this.countries.map(res => res
.find(country => country.alpha2 === countrycode)
.countryCallingCodes[0]
.replace(/\D/g, ''));
}
偉大的作品時,我用這樣的:
this.retrieveDialingCode(countrycode).subscribe(res => this.phone.patchValue({ isodialingcode: res }));
然而,當我使用它像這樣我只得到dialingCode對象:
const dialingCode = this.retrieveDialingCode(phone.isocountrycode).subscribe(res => console.log(res));
我到底做錯了什麼?
是的,我之前做過,但異步是一個問題。代碼取決於retrieveDialingCode的結果是有點廣泛,但如果這是唯一的選擇,那麼我可以把它放在訂閱,有點醜陋恕我直言 – bryanforst
太真實,這是討厭的。你可以通過將下游代碼放入一個方法來實現它,然後'subscribe()'只需要一行內容 - 調用方法,傳遞值。 (對不起,如果這已經很明顯)。 –