从 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>