var PromiseThen = function(){

	var fns = [];

	this.then = function(fn){
  fns.push(fn);
  return this;
} this.main = function (p){
  var
  //工序id
  i = -1,
  //是否停止
  isStop = false;
  //继续流程
  resolve = function(o){
    if( isStop ) return;
    p = o;
    i++;
    fns[i] && fns[i].call({suc: resolve},p,resolve);
  };
  //触发第一道工序
  resolve(p);
  return this;
} this.start = function(param){
  //新建工序
  return new this.main();
} //清除掉
this.remove = function(index){
  if( !index ){
    fns = [];
  }
} //插入工序
this.add = function(fn,index){
  fns.splice(index,0,fn);
} }
var b = new PromiseThen()
//第一道工序
.then(function(p,suc){
setTimeout(function(){ suc(); },5000)
})
//第二道工序
.then(function(p,suc){
debugger; suc();
})
//第三道工序
.then(function(p,suc){
debugger; suc();
})
//开始
.start();

PromiseThen 横向代码编辑的更多相关文章

  1. Adobe Dreamweaver代码编辑

    Adobe Dreamweaver 同义词 DW(Adobe Dreamweaver的缩写)一般指Adobe Dreamweaver Adobe Dreamweaver,简称“DW”,中文名称 &qu ...

  2. 花了一年时间完成的 在线G代码编辑,加工系统 G-Code Editor V1.0

    G代码是数控程序中的加工指令.一般都称为G指令.可以直接用来驱动机床,各种控制系统.是一种数控行业标准.传统的G代码编写以及编辑无法在线编辑,也不能实时看到g代码编辑的最后加工路径已经不能直接对编辑的 ...

  3. Eclipse常用快捷键之代码编辑篇

    Eclipse是Java开发常用的IDE工具,熟练使用快捷键可以提高开发效率,使得编码工作事半功倍,下面介绍几种常用的代码编辑和补全工具 重命名快捷键:Alt+Shift+R 可用于类名,方法名,属性 ...

  4. 推荐一款优秀的代码编辑软件--Source Insight

    “工欲善其事,必先利其器”,好的工具能够提高我们办事的效率,进而提升团队乃至企业的竞争力. 对于软件开发工程师来说,选择一款优秀的代码编辑软件也是很重要的.最近,我看到有很多同事还在用微软的VC ++ ...

  5. 关于设置Visaul Studio 2010 代码编辑界面背景的方法

    1.打开代码编辑界面: 2.找到工具--选项: 3.打开选项后选中纯文本--项背景色: 4.点击自定义,找到自己需要的颜色: [注]: “项前景色”即代码的颜色: “项背景色”即背景颜色. 设置好后, ...

  6. VS2015提示:未安装Style的Visual Studio语言支持,代码编辑Intellisense将不可用。服务器控件的标记Intellisense可能不起作用

    一.问题 最近在VS2015打开文件,提示未安装Style的Visual Studio语言支持,代码编辑Intellisense将不可用.服务器控件的标记Intellisense可能不起作用. Int ...

  7. VS2017 无法修改代码编辑区的项背景颜色问题

    以前都是好好的,安装  ClaudiaIDE: https://github.com/buchizo/ClaudiaIDE 之后也没啥问题,用着用着代码编辑区自定义的颜色就没有了,好几台电脑都是这样, ...

  8. visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑常用快捷键-代码编辑器的展开和折叠

    visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑快捷键-代码编辑器的展开和折叠 VS2015代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代 ...

  9. Devcpp(Dev-C++)代码编辑的快捷键

    转自:https://blog.csdn.net/u010940020/article/details/43735549 这里记录一些个人使用Devcpp时,摸索出来的代码编辑快捷键,感觉非常有用.如 ...

随机推荐

  1. Golang之接口

  2. FPGA例化ROM存储表格

    FPGA例化ROM存储表格 1.选择ROM 2.填写数据位宽和深度 3.加载ROM初始化信息,coe文件

  3. 【转】计算机信息系统安全保护等级划分准则(GB 17859-1999)

    计算机信息系统安全保护等级划分准则(GB 17859-1999) 概述 计算机信息系统安全保护等级划分准则(GB 17859-1999) 1 范围 本标准规定了计算机系统安全保护能力的五个等级,即: ...

  4. php 学习资料

    http://blog.csdn.net/woshihaiyong168/article/details/52846205  --队列基本原理的认识

  5. 前端SEO与爬虫与SSR(Server Side Render)

    讲真,之前没考虑过这个问题.因为项目原因,自己用python的一些工具,爬取了淘宝.京东.百度等的一些图片和图片名称之类的信息.以为爬虫只是解析html文本,然后提取关键字,保存自己想要的信息即可,或 ...

  6. [UE4]让Spline具象化

    接上一个实例 一.在TestSpline蓝图,切换到蓝图构造函数Constrction Script事件中,添加如下代码: 二.别忘记个Add Spline Mesh Component设置Stati ...

  7. JID介绍

    JID: 一个XMPP实体的地址称为Jabber Identifier或JID,作用类似于IP地址.一个合法的JID包括节点名,域名资源名,其格式为:jid=[node'@']domain['/'re ...

  8. springboot集成schedule

    背景 在项目开发过程中,我们经常需要执行具有周期性的任务.通过定时任务可以很好的帮助我们实现. 我们拿常用的几种定时任务框架做一个比较: 从以上表格可以看出,Spring Schedule框架功能完善 ...

  9. EDI error

    WE20里面partenr也维护,还是报这个错误,有两个原因: 1: partner status不是ACTIVE的状态. 2. message control里面没有维护新增的output type ...

  10. com.android.build.api.transformException报错的解决方法

    最近遇到一个问题:工程需要依赖模块1和模块2,但是模块1和模块2都使用了opencv,但opencv的版本不同,如果同时依赖两个模块,就会报错重复定义...如果模块2依赖模块1,工程再依赖模块2,也会 ...