JS Promise的简单实现

转载 2016年08月29日 22:04:39
//constructor
var Promise = function() {
    this.callbacks = [];
}


Promise.prototype = {
    construct: Promise,
    resolve: function(result) {
        this.complete("resolve", result);
    },


    reject: function(result) {
        this.complete("reject", result);
    },


    complete: function(type, result) {
        while (this.callbacks[0]) {
            this.callbacks.shift()[type](result);
        }
    },


    then: function(successHandler, failedHandler) {
        this.callbacks.push({
            resolve: successHandler,
            reject: failedHandler
        });


        return this;
    }
}


// test
var promise = new Promise();

相关文章推荐

[ JS 进阶 ] 异步编程 promise模式 的简单实现

[ JS 进阶 ] 异步编程 promise模式 的简单实现javascript web前端开发 Naraku_ 2015年07月28日发布 推荐 1 推荐 收藏 45 收藏,2k 浏览 ...
  • cdnight
  • cdnight
  • 2016年03月12日 11:53
  • 2749

js promise实现笔记

在开发web前端应用的时候,经常会碰到回调地狱,promise是一个很好的解决办法,基本上所有的浏览器都自行实现了promise对象,但是我想自己实现一个简单的promise then链,然后在网上看...

node.js任务队列简易版实现(基于Promise)

任务队列适用在什么场景下? 高并发 日常情况中,如果并发数超过一定数量,会导致数据出错,系统奔溃,如果一台破电脑同时要执行10W个复杂同步或异步函数会怎样,同样是运行10W个函数如果用队列控制并发运...

在Node.js 中用 Q 实现Promise – Callbacks之外的另一种选择

原文:Promises in Node.js with Q – An Alternative to Callbacks by Marc Harter 《Node.js in Practice》 ...

JavaScript简单实现Promise/A+规范

Promise/A+规范是什么Promise表示一个异步操作的最终结果。与Promise最主要的交互方法是通过将函数传入它的then方法从而获取得Promise最终的值或Promise最终最拒绝(re...

Promise 简单实现

/** * Created by wikid on 3/6/17. */ ;(function (f) { /** * 模块 引入方式 */ if (typeo...

Promise简单实现

promise-polyfill //Promise-polyfill function Pro
  • AiceIce
  • AiceIce
  • 2017年08月04日 11:24
  • 210

自己实现一个简单的Promise

var Promise = function(fn){ this.taskQ = []; if(fn)this.then(fn); }; Promise.prototype = { r...

异步编程Promise的简单实现

promise模式-那么多中异步编程的方式,为什么选择promise, 因为前面几种方式不够灵活,用起来不够痛快,不优雅。为了降低异步编程的复杂性,所以promise。promise的核心是有一个pr...

es6-promise.auto.min.js

  • 2017年05月17日 17:51
  • 6KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JS Promise的简单实现
举报原因:
原因补充:

(最多只允许输入30个字)