从 Observable 获取字符串响应
Get string response from Observable
我正在从后端检索字符串:
String value = "{I am here}";
我的服务:
getValue(): Observable<String> {
return this.http.get<String>(this.myURL);
}
我订阅的组件:
String myMessage;
getValue(): void {
this.myService.getValue()
.subscribe(message=> {
this.myMessage= myMessage;
console.log("WHY NOT ENTER HERE?)
);
});
我做错了什么,甚至没有收到来自 console.log 的消息?
据我所知,您的代码中存在错误,这可能是您无法为 myMessage
分配任何值的原因:
您的代码:
String myMessage;
getValue(): void {
this.myService.getValue()
.subscribe(message=> {
this.myMessage= myMessage;
console.log("WHY NOT ENTER HERE?)
);
});
应该是:
String myMessage;
getValue(): void {
this.myService.getValue()
.subscribe(message=> {
this.myMessage= message;
console.log("WHY NOT ENTER HERE?)
);
});
注意回调函数中的赋值部分,你用错了变量。
希望对您有所帮助。
我想如果你想使用字符串,你需要具体说明 responseType。
这是文档https://angular.io/guide/http#requesting-non-json-data
在您的情况下,getValue
应该这样做:
return this.http.get(this.myURL, { responseType: 'text' });
请注意,您不需要使用 <string>
我正在从后端检索字符串:
String value = "{I am here}";
我的服务:
getValue(): Observable<String> {
return this.http.get<String>(this.myURL);
}
我订阅的组件:
String myMessage;
getValue(): void {
this.myService.getValue()
.subscribe(message=> {
this.myMessage= myMessage;
console.log("WHY NOT ENTER HERE?)
);
});
我做错了什么,甚至没有收到来自 console.log 的消息?
据我所知,您的代码中存在错误,这可能是您无法为 myMessage
分配任何值的原因:
您的代码:
String myMessage;
getValue(): void {
this.myService.getValue()
.subscribe(message=> {
this.myMessage= myMessage;
console.log("WHY NOT ENTER HERE?)
);
});
应该是:
String myMessage;
getValue(): void {
this.myService.getValue()
.subscribe(message=> {
this.myMessage= message;
console.log("WHY NOT ENTER HERE?)
);
});
注意回调函数中的赋值部分,你用错了变量。
希望对您有所帮助。
我想如果你想使用字符串,你需要具体说明 responseType。
这是文档https://angular.io/guide/http#requesting-non-json-data
在您的情况下,getValue
应该这样做:
return this.http.get(this.myURL, { responseType: 'text' });
请注意,您不需要使用 <string>