Javascript 错误TS2314:泛型类型';承诺<;T>';需要1个类型参数
我使用Promise和observables逻辑使用“get”从服务器获取数据。 它一直工作到昨天。突然,它开始抛出上述错误。 请帮我找出错误。 我收到“泛型类型'Promise'需要1个类型参数”错误Javascript 错误TS2314:泛型类型';承诺<;T>';需要1个类型参数,javascript,angular,Javascript,Angular,我使用Promise和observables逻辑使用“get”从服务器获取数据。 它一直工作到昨天。突然,它开始抛出上述错误。 请帮我找出错误。 我收到“泛型类型'Promise'需要1个类型参数”错误 @Injectable() 导出类myBlogService{ //属性来保存根服务器URL,即主机 私有服务器URL:string=“app/data.json” 构造函数(私有http:http){} //检查运行中的功能,以检查控制装置是否投入运行 检查(){ 警报(“从服务中点击”);
@Injectable()
导出类myBlogService{
//属性来保存根服务器URL,即主机
私有服务器URL:string=“app/data.json”
构造函数(私有http:http){}
//检查运行中的功能,以检查控制装置是否投入运行
检查(){
警报(“从服务中点击”);
}
//get函数从服务器获取数据
//基本上是博客数据
得到承诺{
返回this.http.get(this.serverUrl)
.map(response=>response.json())
}
}
/**
*
*我的组件
*
*/
@组成部分({
选择器:“我的应用程序”,
提供者:[myBlogService],
样式URL:['app/css/app.css'],
模板:`
我的第一个Angular 2应用程序
知道我的名字吗
{{getResponse.name}
`
})
导出类myBlogApp{
//属性来保存博客数据
public getResponse={“name”:“”“age”:“”};
构造函数(受保护的myblogservice:myblogservice){}
//检查功能,以检查控制是否要投入使用
检查(){
this.myblogservice.check();
}
//get函数调用从服务器返回数据的服务get函数
得到(){
this.myblogservice.get().subscribe(数据=>{
this.getResponse=数据;
});
}
}
/**
*
*NgModule声明
*
*/
@NGD模块({
导入:[浏览器模块,HttpModule],
声明:[myBlogApp],
提供者:[],
引导:[myBlogApp]
})
导出类app{}
/**
*
*应用程序引擎入口点
*
*/
const platform=platformBrowserDynamic();
platform.bootstrapModule(app);
当“承诺”被给出时,它仍然会给出这样的问题
错误TS2339:类型“Promise”上不存在属性“subscribe”
我尝试了不同的解决方案,但还没有成功。不要使用
承诺
尝试使用可观察
,替换:
get(): Promise {
return this.http.get(this.serverUrl)
.map(response => response.json())
}
与
get():可观察{
返回this.http.get(this.serverUrl)
.map(response=>response.json())
}
您需要添加特定类型
如果它不包含数据且仅用于解析/拒绝功能,请使用:
Promise<void>
承诺
最终,这是一个与任何其他类型一样的类型签名,因此您可以使用:
Promise<any>
Promise如果不在myBlogService中键入提示get函数,会发生什么情况?在用Observable替换Promise后出现此错误。错误TS2304:找不到名称“Observable”。即使包含以下节点_模块,问题仍然存在::import'rxjs/Rx';导入'rxjs/add/operator/map';导入“rxjs/可观察”;进口‘rx’代码>导入'rxjs/add/operator/map';从“rxjs/Observable”导入{Observable}代码>这对我有用。谢谢你的帮助@在该链接中,我可以在Promise
的
尖括号中找到确切的类型。我只能推断它的类型应该与resolve()
案例的值相同。有什么好的文档说明我应该在TypeScript中输入什么类型的泛型承诺吗?
Promise<void>
Promise<any>