方法一
private userTaskList(){
  let auth = this.make_basic_auth("kermit","kermit");
  this.httpc.get("http://localhost:8080/activiti-rest-test/service/runtime/tasks?assignee="+this.user,{//列出当前用户的任务
  headers:{'Authorization' : auth}
}).mergeMap(val=>{
  let tasks:Array<any> = val['data'];
  let task:any = tasks[tasks.length-1];
  let tid:string=task.id;
  return this.httpc.post("http://localhost:8080/activiti-rest-test/service/runtime/tasks/"+tid,{ //提交审批的同时 让申请人完成任务
  "action" : "complete",
"variables": [
    {
      "name":"detoxCenterApproval",
      "value":this.detoxCenterApproval
    }
  ]
},{
    headers:{'Authorization' : auth}
  });}).subscribe(val => console.log(val),
  error =>{ },
  () => {}
  );
}
 
 
 
 
方法二 用promise
  

  let prOrg=this.orgTreeData.reloadPageIfNeed();
  let prPerson=this.personTreeData.reloadPageIfNeed();
  Promise.all([prOrg,prPerson]).then(s=>{ //数据加载完成后再调用方法
  this.orderOrgTreeData = this._convertRows2Subtree();});
 
 
 
 将observeble对象转成promise在调用then....then......then........................................链式调用  主要用于下一个方法用到上一个方法获取的值
   private getProSysProjectUrl():Promise<boolean>{
return this.toolService.getGlobalContext().toPromise().then(s => {
let val = <any>s;
this.proSysProjectUrl = val.proSysProjectUrl;
return true;
})
}
private listHistoryTasks(){ //列出历史任务实例
this.getProSysProjectUrl().then(s => {
this.httpc.get(this.proSysProjectUrl+"/service/history/historic-task-instances?taskAssignee="+this.user,{
headers:{'Authorization' : this.auth}
}
).subscribe(val => {
let ues:Array<any> = val['data'];
for(let u of ues){
let tempClass = new HistoryTaskField();
tempClass.id = u.id;
tempClass.name = u.name;
tempClass.startTime = u.startTime;
tempClass.endTime = u.endTime;
this.historyTaskFieldClasses.push(tempClass)
}
this.getPages();
this.pageShow();
},
error =>{ },
() => {}
);
}); }
 
 
 
 

angular中因异步问题产生的错误解决方法的更多相关文章

  1. XP中IIS“HTTP 500 - 内部服务器错误”解决方法

    我先把主要过程叙述一下,叙述完有每个问题的具体操作方法. 今天我在XP上安装IIS,运行网站出现"HTTP 500 - 内部服务器错误". 打开HTML没有问题,打开ASP文件时就 ...

  2. CAS SSO:汇集配置过程中的错误解决方法

    本教程为gevin.me原创文章,转载请注明: CAS SSO:配置过程中的错误解决方法 | Gevin’s Blog 本文将收集在配置CAS SSO遇到的所有错误,希望对大家有帮助,也方便下次搭建的 ...

  3. win7 安装过程中遇到的错误解决方法

    win7 安装过程中遇到的错误解决方法 windows安装无法继续.若要安装windows 请单击 确定 重新启动计算机: 当 出现如上提示的时候,按下shift+f10 会打开命令窗口,进入到C:\ ...

  4. SQL SERVER 9003错误解决方法 只适用于SQL2000

    SQLSERVER 9003错误解决方法 只适用于SQL2000 (只适用于SQL2000) "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft S ...

  5. New XAMPP security concept:错误解决方法

    New XAMPP security concept:错误解决方法 (2014-03-06 16:07:46) 转载▼   分类: php 在Linux上配置xampp后远程访问域名报错: New X ...

  6. hadoop本地库与系统版本不一致引起的错误解决方法

    hadoop本地库与系统版本不一致引起的错误解决方法 部署hadoop的集群环境为 操作系统 centos 5.8 hadoop版本为cloudera   hadoop-0.20.2-cdh3u3 集 ...

  7. mysql Access denied for user root@localhost错误解决方法总结(转)

    mysql Access denied for user root@localhost错误解决方法总结(转) mysql Access denied for user \'root\'@\'local ...

  8. Eclipse 出现Some sites could not be found. See the error log for more detail.错误 解决方法

    Eclipse 出现Some sites could not be found.  See the error log for more detail.错误 解决方法 Some sites could ...

  9. eWebeditor编辑器上传图片路径错误解决方法[疑难杂症]【转,作者:unvs】

    做了一个多版本的网站,后台用的编辑器是eWebeditor,NET版,后面发现上传图片或者文件之后,路径错误无法显示,必须手工修改才行.. 为了更清楚的说明问题,我下面会说的比较详细,首先是网站文件框 ...

随机推荐

  1. Git要点

    前面的话 本文将总结Git要点 版本管理工具 [作用] 1.备份文件 2.记录历史 3.回到过去 4.对比差异 [分类] 1.手动版本控制(又叫人肉VCS) 2.LVCS 本地 3.CVCS 集中式( ...

  2. hdu-3746(kmp)

    题意:给你一个字符串,问你至少增添几个字符可以把这个字符串变成一个循环字符串(ababa的循环节是ab,不是aba): 解题思路:利用kmp中的next数组,首先在这样求next的数组的代码里: vo ...

  3. windows电脑连接蓝牙耳机的正确步骤

    前言 我使用的是小米运动蓝牙耳机,操作系统为win7,废话少说直接上教程 是否支持蓝牙功能 按住win+R,打开[运行],输入devmgmt.msc,回车. 只要有Bluetooth 无线电收发器,那 ...

  4. 欧拉筛法模板&&P3383 【模板】线性筛素数

    我们先来看欧拉筛法 •为什么叫欧拉筛呢?这可能是跟欧拉有关 •但是为什么叫线性筛呢?因为它的复杂度是线性的,也就是O(n),我们直接来看代码   #include<cstdio> #inc ...

  5. BZOJ 2002 弹飞绵羊

    LCT 刚学LCT,对LCT的性质不太熟练,还需要多多练习.. 对每一个点,将其与它能够到达的点连一条虚边.弹出去的话就用n+1这个节点表示. 第一种操作我们需要从LCT的性质入手,问的问题其实就是x ...

  6. Marriage Match III HDU - 3277(二分权值 + 拆点 建边)

    题意: 只不过是hdu3081多加了k种选择 想一下,最多能玩x轮,是不是就是每个女生能最多选x个男生 现在题中的每个女生比3081多了k中选择   那就把女生拆点  i  i‘ i --> i ...

  7. Win10报错0x800f0906

    在安装适用于Linux的Windows子系统(Beta)的时候,有选中开发人员模式这一步设置->更新和安全->针对开发人员->选中开发人员模式 如果报错0x800f0906 那是因为 ...

  8. thinkphp5.0.7 &===composer更新===& thinkphp5.0.9 debug “controller not found”

    当thinkphp5.0.7更新到最新版本时,问题来了... 控制类加载不了. 上线版本出现这个情况,也就悲哀了.====== 那么这种问题主要是因为 composer 没有合理的使用: 详细参考:如 ...

  9. 概率DP自学

    转自https://blog.csdn.net/zy691357966/article/details/46776199 zy691357966的blog 有关概率和期望问题的研究 摘要 在各类信息学 ...

  10. JVM体系结构概述

    ClassLoader(类装载器) 负责加载class文件. class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution ...