Adi*_*ari 22 typescript ionic-framework ionic2 ionic3 angular
我正在尝试使用离子2和角度2构建应用程序,当我尝试运行我的应用程序时出现此错误.我建立另一个项目来检查和相同的问题,我真的很困惑这个问题.
这是我的服务代码
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { Storage} from '@ionic/storage';
import {NavController} from "ionic-angular";
/*
Generated class for the MyService provider.
See https://angular.io/docs/ts/latest/guide/dependency-injection.html
for more info on providers and Angular 2 DI.
*/
@Injectable()
export class MyService {
public local :Storage;
public getsession : any;
constructor(private http: Http, private navCtrl : NavController) {
this.local = new Storage();
console.log("my-service page")
}
postLogin(data){
let link = "http://adirzoari.16mb.com/login.php";
return this.http.post(link,data)
.map(res => res.json())
}
checkToken(){
return this.getsession =this.local.get('token');
}
}
Run Code Online (Sandbox Code Playgroud)
seb*_*ras 57
我只是将其作为答案添加,以便它可以帮助其他SO用户面临同样的问题.
就像@ sudheer-kb提到的那样,为了解决这个问题,你需要显式导入Observable类:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
// ...
import { Observable } from "rxjs/Observable"; // <- add this import
Run Code Online (Sandbox Code Playgroud)
然后给你的方法一个明确的返回类型(也感谢@ruffin你的评论):
postLogin(data): Observable<any> {
// ...
}
Run Code Online (Sandbox Code Playgroud)
小智 13
我有一个类似的问题,它似乎与返回类型的方法的问题有关.对我有用的是在声明我的方法之后简单地添加":any",例如:
get(url) : any {
//code
}
Run Code Online (Sandbox Code Playgroud)
我不认为这是一个好习惯,但它有时可能是一个很好的解决方案.
| 归档时间: |
|
| 查看次数: |
13375 次 |
| 最近记录: |