属性'throw'在类型 'typeof Observable' 上不存在



Iam正在学习nativescript+angular,用于开发android和ios应用程序。我正在工作和学习nativescript+angular的基本服务。在我的项目的post方法中,我发现错误"property"throw"在类型"typeof Observable"上不存在"。我的代码是:

import { User } from "./user";
import { Config } from "../config";
import { Injectable } from "@angular/core";
import { Observable } from "tns-core-modules/ui/page/page";
@Injectable()
export class UserService {
constructor(private http: Http) { }
register(user: User) {
let headers = new Headers();
headers.append("Content-Type", "application/json");
return this.http.post(
Config.apiUrl + "Users",
JSON.stringify({
Username: user.email,
Email: user.email,
Password: user.password
}),
{ headers: headers }
)
.catch(this.handleErrors);
}
handleErrors(error:Response)
{
console.log(JSON.stringify(error.json()));
return Observable.throw(error);        
}

} 

Observable.throw现在已被弃用。你必须使用这个代替:

import { throwError } from 'rxjs';

然后用CCD_ 2替换您的CCD_。您的observable订阅用户将以与过去相同的方式接收它。

点击此处@#287

Observable.throw和throwError("Your error"(现在已被弃用。现在,您应该将工厂直接用作throwError(() => new Error('Your error'))

查看此处

最新更新