angular - 类型 'Observable<void>' 不可分配给类型 'Observable<JSON>'

标签 angular typescript

  getStepList(): Observable<JSON>  {                  
            this.headers = new Headers();
            this.headers.append('Content-Type', 'application/json; charset=utf-8');                
            let options = new RequestOptions({
                method: RequestMethod.Post,
                url: "FeedbackMaster.aspx/getStepList",                   
                headers: this.headers,
                  body:{log:this.login}
            });
            return this._http.request(new Request(options)).retry(2)
            .map((response: Response)=>this.extractData(response))
            .do(data => {this.temp=data, console.log('getStepList:'+ JSON.stringify(JSON.parse(this.temp.d)))})
            .catch(this.handleError);                  
    }

    extractData(res: Response) {
           let body = res.json();
           return body || { }; //<--- not wrapped with data
     }
          handleError(error: any) {
         console.error('An error occurred', error);
          return Promise.reject(error.message || error);
   }  

................................................ ..................................................... ……

错误

[ts]
 Type 'Observable<void>' is not assignable to type 'Observable<JSON>'.
 Type 'void' is not assignable to type 'JSON'.

我的代码有什么问题?

最佳答案

.map()需要返回一些东西,例如:

.map((response: Response) => { this.extractData(response); return response.json(); })

return response.json()产量 Observable<JSON> .不从 .map() 返回任何内容它变成Observable<void> .

关于angular - 类型 'Observable<void>' 不可分配给类型 'Observable<JSON>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42289772/

相关文章:

html - 我想做图像中心

Angular 2 : how to copy object into another object

javascript - 在 forEach 中创建子级

html - XMLHttpRequest 对象未正确返回其参数

typescript - 从javascript生成 typescript 声明文件

angular - 如何在使用 Material Time Picker 时仅启用 HOUR?

javascript - PrimeNg 菜单栏自定义内容未显示

typescript - 如何正确设置 NestJS 中的配置?

reactjs - 如何在 React 中通过单击按钮打开 &lt;input type ="file"/>

ngFor 中的 Angular 绑定(bind)中断