# PromiseJS **Repository Path**: appcccc/PromiseJS ## Basic Information - **Project Name**: PromiseJS - **Description**: PromiseJS,js的promise实现,使高版本浏览器的Promise接口,兼容低版本浏览器下运行 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 23 - **Forks**: 8 - **Created**: 2018-03-16 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: javascript-toolkits **Tags**: Promise ## README # PromiseJS ## 介绍 PromiseJS,js的promise实现,使高版本浏览器的Promise接口,兼容低版本浏览器下运行 #### 安装 ``` npm i silis-promisejs ``` #### 文件大小 |文件名|文件大小|文件说明| |--|--|--| |promise.min.js.zip|0.8k|js代码压缩 + zip压缩,用于网络要求更高的生产运营环境| |promise.min.js|1.47k|js代码压缩,用于生产运营时使用| |promise.js|3.2k|js源代码,用于开发测试时使用| #### 兼容浏览器 | | 浏览器 | 最小版本 | |-|-|-| | ![Internet Explorer](https://p3-flow-imagex-sign.byteimg.com/isp-i18n-media/image/365d895f0f2ad53d26f6fbdffd4fa163~tplv-a9rns2rl98-pc_smart_face_crop-v1:320:240.image?lk3s=8e244e95&rcl=20260429033907A62BD1C9E62D20FB06EC&rrcfp=cee388b0&x-expires=2092765153&x-signature=MFoKpxaddyo00jmZkmzlDj98PAg%3D "Internet Explorer")| Internet Explorer | 5.5 | | ![Chrome](https://cdnjs.cloudflare.com/ajax/libs/browser-logos/62.1.0/chrome/chrome_256x256.png "Chrome")| Chrome | 1 | | ![Edge](https://cdnjs.cloudflare.com/ajax/libs/browser-logos/62.1.0/edge/edge_256x256.png "Edge") | Edge | 12 | | ![Firefox](https://cdnjs.cloudflare.com/ajax/libs/browser-logos/62.1.0/firefox/firefox_256x256.png "Firefox") | Firefox | 3 | | ![Opera](https://cdnjs.cloudflare.com/ajax/libs/browser-logos/62.1.0/opera/opera_256x256.png "Opera") | Opera | 15 | | ![Safari](https://cdnjs.cloudflare.com/ajax/libs/browser-logos/62.1.0/safari/safari_256x256.png "Safari") | Safari | 4 | #### promise resolve示例 ``` ``` #### promise reject示例 ``` ``` #### Promise嵌套示例 ``` ``` #### Promise then result示例 > 演示第一个then的return结果,传到第二个then参数中 ``` ``` #### Promise reject not then示例 > 演示reject后,没有then情况下,是否可以抛出报错 ``` ``` #### then empty argument > 演示then传空参数 ``` ``` #### ES6 Promise Bug 在ES6原生Promise中,当Promise的resolve方法执行传入带有then方法的对象时,则Promise的then方法无法执行,示例: ``` new Promise(function(resolve){ resolve({ then:function(){ console.log("resolve then"); } //神奇的打印了"resolve then" }); }).then(function(result){ console.log("promise then"); //没有执行打印"promise then" }) ``` > 示例文件:https://gitee.com/silis/PromiseJS/blob/master/demo/resolve-then-bug.html