Angular js的Http承诺在typescript中
Angular js Http promises in typescript
我有一个问题与我的代码,我希望有人在这里可以帮助我理解并指出我在正确的方向。问题在于嵌套承诺。一个特定的方法需要向服务器发出两个Http请求——第一个请求成功完成后第二个请求,第二个请求的结果应该在调用类中解析。
只要在包含单个Http调用的方法中使用示例中显示的模式,它就会像预期的那样工作。下面是代码:
Service1:
public class Service1 extends IService1 {
public PostData(url : string, data: any) : ng.IHttpPromise<any> {
return this.$http.Post(url, data);
}
public GetData (url : string) : ng.IHttpPromise<any> {
return this.$http.Get(url);
}
}
生成Service2:
public class Service2 extends IService2 {
private srv1 : IService1;
static inject = ["Service1"];
public constructor(service1){
this.srv1 = service1;
}
public GetLetters(ids : number[]) : ng.IHttpPromise<any>{
var scope = this;
return this.srv1.PostData("api/letters", ids).success(function (data){
return scope.srv1.GetData("api/lettters/" + data);
})
}
}
控制器public class Controller1 {
private service2 : IService2;
private array : Letter[];
static inject = ['Service2']
public constructor (Service2 : IService2){
this.service2 = Service2;
}
public someFunc() : void
var scope = this;
// I have problems here when I try to retrieve the letters
this.service2.GetLetters(someIds).success((data) => {
array = data;
});
}
}
我应该采取不同的方法吗?控制器内部的数据是来自GetLetters方法外部承诺的解析数据。我想要得到内部promise
Service2
方法GetLetters
应该返回一些…
public class Service2 extends IService2 {
...
public GetLetters(ids : number[]) : ng.IHttpPromise<any>{
var scope = this;
//this.srv1.PostData("api/letters", ids).success(function (data){
return this.srv1.PostData("api/letters", ids).success(function (data){
return scope.srv1.GetData("api/lettters/" + data);
})
否则只是求值…
相关文章:
- 我的职位回报太快了,如何做出承诺
- 打破承诺链的好方法是什么
- 从函数返回角度承诺
- Foreach无法在Typescript中工作
- 扩展SVGTextElement时出现Typescript Uncaught TypeError
- 为什么无法在TypeScript中导出类实例
- 如何将TypeScript对象转换为普通对象
- Angular 2.0 with JavaScript or TypeScript?
- 我怎样才能获得承诺的价值
- 延期承诺值未更新/解析/延期
- "实例范围”;TypeScript类的getter/setter
- 在承诺链中处理早期回报的最佳方式
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 从HTML调用typescript文件中的函数
- 如何将js库与typescript一起使用
- 理解typescript中的构造函数接口
- 承诺在非节点式回调上使用Bluebird
- 如何在返回值之前等待typescript / javascript承诺
- Angular js的Http承诺在typescript中
- Typescript语法angular2承诺然后回调