Typescript 我如何确认一个周期内所有观测值的执行?(角度2)?
在Angular 2中,我如何确认“可观测”的“n”个数何时完成:Typescript 我如何确认一个周期内所有观测值的执行?(角度2)?,typescript,angular,loopback,Typescript,Angular,Loopback,在Angular 2中,我如何确认“可观测”的“n”个数何时完成: ... for (var i = 1; i <= this.quantity; i++) { description = this.prefix.trim() + ' ' + i.toString(); point = new PointModel(description, 'A', this.locationModel.id); this.point.create(<PointMod
...
for (var i = 1; i <= this.quantity; i++) {
description = this.prefix.trim() + ' ' + i.toString();
point = new PointModel(description, 'A', this.locationModel.id);
this.point.create(<PointModel>point)
.subscribe(
pointModel => {
Materialize.toast('Se ha guardado el punto \"' + pointModel.description + '\"', 2000);
},
error => {
Materialize.toast('Se ha generado un error: \"' + error + '\"', 2000);
}
);
}
...
。。。
对于(var i=1;i{
Materialize.toast('Se ha guardado el punto\'”+pointModel.description+'\'”,2000年);
},
错误=>{
toast('Se-ha-generado-un-error:\“+error+'\”,2000);
}
);
}
...
谢谢大家! 应该是这样的:
//create and fill points array
var points:PointModel[] = [];
for (var i = 1; i <= this.quantity; i++) {
description = this.prefix.trim() + ' ' + i.toString();
points.push(new PointModel(description, 'A', this.locationModel.id));
}
Observable.from(points).flatMap(point=>{this.point.create(<PointModel>point)})
.subscribe(
pointModel => {
Materialize.toast('Se ha guardado el punto \"' + pointModel.description + '\"', 2000);
},
error => {
Materialize.toast('Se ha generado un error: \"' + error + '\"', 2000);
},
() => {
Materialize.toast('All points have been created!', 2000);
}
);
//创建和填充点数组
变量点:PointModel[]=[];
for(var i=1;i{this.point.create(point)})
.订阅(
pointModel=>{
Materialize.toast('Se ha guardado el punto\'”+pointModel.description+'\'”,2000年);
},
错误=>{
toast('Se-ha-generado-un-error:\“+error+'\”,2000);
},
() => {
Materialize.toast('所有点都已创建!',2000);
}
);
我的最终代码是:
for (var i = 1; i <= this.quantity; i++) {
description = this.prefix.trim() + ' ' + i.toString();
points.push(new PointModel(description, 'A', this.locationModel.id));
}
Observable.fromArray(points).flatMap( //'fromArray' is deprecated, instead use 'from'
point => {
return this.point.create(<PointModel>point); //the return was the key here...
}
)
.subscribe(
pointModel => {
Materialize.toast('Se ha guardado el punto \"' + pointModel.description + '\"', 2000);
},
error => {
Materialize.toast('Se ha generado un error: \"' + error + '\"', 2000);
},
() => {
this.loadPointsFromModelId(this.pointModel.id);
}
);
(变量i=1;i)的{
返回this.point.create(point);//返回的是这里的键。。。
}
)
.订阅(
pointModel=>{
Materialize.toast('Se ha guardado el punto\'”+pointModel.description+'\'”,2000年);
},
错误=>{
toast('Se-ha-generado-un-error:\“+error+'\”,2000);
},
() => {
this.loadPointsFromModelId(this.pointModel.id);
}
);