【发布时间】:2017-11-10 06:56:00
【问题描述】:
我在 for 循环中调用 Angular 2 HTTP 服务时遇到问题。与服务调用相比,循环运行得很快,返回的结果太慢。
this.projectService.addProjectServices(pid,rid,vname,field_name,ser_name).subscribe(
pdata => {
for(var k=0;k<pdata['revision_info'][0].office_info[0].vertical_info[index].service_selection_info.length;k++) // Find service index
{
if(ser_name==pdata['revision_info'][0].office_info[0].vertical_info[index].service_selection_info[k].service_name)
{
s_index=k;
}
}
for(var k=0;k<pdata['revision_info'][0].building_info.length;k++)
{
var bid=pdata['revision_info'][0].building_info[k]._id;
// Checked Building only inserted
if($("#"+bid+sid).prop("checked") == true)
{
var bid=$("#"+bid+sid).attr('build-id');
var build_name=$("#"+bid+sid).attr('build-name');
var service_name=$("#"+bid+sid).attr('service-name');
alert(build_name);
// Update
for(var n=0;n<pdata['revision_info'][0].office_info.length;n++) // inserted at single office or both office
{
var field_name='revision_info.$.office_info.'+n+'.vertical_info.'+index+'.service_selection_info.'+s_index+'.serviceselect_building_info';
projectServiceRef.projectService.updateProjectServices(pid,rid,vname,field_name,service_name,bid,build_name).subscribe(
pdata => {
alert("updated");
});
}
}
}});
在上面的编码中,首先我调用了一个 HTTP 服务调用来添加一个特定的服务文档,然后我使用 for 循环找到了当前插入的服务的索引。下一个 for 循环是插入上述服务文档的子文档。这里第二个for循环跑的比较快,但是子文档的更新操作太延迟或者有些时候更新操作没有做完。任何人都可以帮助解决我的问题。
【问题讨论】:
标签: node.js mongodb typescript angular2-services