promise的简单使用
var p = new Promise(function (resolve,reject) {
    /*setTimeout(function () {
        resolve('success')
    },3000);
    setTimeout(function () {
      reject('fail')
    },2000);*/
    // resolve(123);
    // reject(123);
    ajax({
        type:'get',
        url:'./2.json',
        success:resolve,// success && success(data)
        success:function(data){
            // data[19] = 1233;
            resolve(data);
        },
        error:reject
    })
});
var p2 = p.then((data)=>{
    console.log(data);
    throw new Error('失败了');
    console.log(2);
    // console.log(this);
    // return data;
},(res)=>{
    console.log(res);
    return 'success';
});
p2.then(function (data) {
    console.log('p2suc',data);
    if(Math.random() > 0.5){
        throw new Error('大于0.5;是个失败')
    }
    return 'then3 success'
},function (res) {
    console.log('p2fail',res);
}).then(data=>{
    console.log(data);
},res=>{
    console.log(res);
});
// console.dir(p2);
/*
* Promise 是原生 JS 的一个类;为了解决JS中异步的问题;
* Promise  接受一个参数;这个参数是个回调函数;
* 这个回调函数接收两个参数;
* 第一个参数是用来异步执行成功之后执行的回调函数
* 第二个参数是用来异步执行失败之后执行的回调函数
* 两个回调函数执行只能其中的一个;只要其中一个执行了;那么另一个就不在执行;
* 让成功或者失败函数执行是由自己的代码逻辑决定的;
*
* then 是Promise 原型上的函数 ;他接收两个函数作为参数;
* 第一个函数是个成功的回调,第二个函数是个失败的回调;
* then 返回的是一个新的Promise实例
*
*
* 后边的then执行成功函数或者失败函数,只跟上个then中函数执行的结果有关系;若上个then中函数(不论是成功函数或者失败函数)执行成功;则走下个then的成功函数;执行失败,就走下个then 的失败函数
* 后边的then中的函数接收的参数是上个then中函数执行完的返回结果;
*
*
*
* Promise的实例有三种状态  pending  resolved  rejected
* pending ---> 实例创建完成时就是个pending;
* resolve执行后 ---> resolved
* reject执行后 --->  rejected
* */												
											promise的简单使用的更多相关文章
- Promise的简单用法
		众所周知的,Javascript是一种单线程的语言,所有的代码必须按照所谓的“自上而下”的顺序来执行.本特性带来的问题就是,一些将来的.未知的操作,必须异步实现.本文将讨论一个比较常见的异步解决方案— ... 
- Promise原理 && 简单实现
		Promise原理 参考https://github.com/chunpu/promise/blob/master/promise.js 个人认为原博的实现有点问题 在next函数的实现上, 会导致无 ... 
- Q promise API简单翻译
		详细API:https://github.com/kriskowal/q/wiki/API-Reference Q提供了promise的一种实现方式,现在在node中用的已经比较多了.因为没有中文的a ... 
- Javascript中Promise的简单使用
		// 函数功能:1秒以后创建一个10以内的随机整数,并判断这个数是否为偶数:如果是偶数则做一件事情,如果是奇数则做另一件事情 function doSomthing() { var promise = ... 
- ES6 学习笔记(十三)promise的简单使用
		1.什么是promise 在JavaScript中,我们经常会用到回调函数,而回调函数的使用让我们没法使用return,throw等关键字.JS引用promise正好解决了这个问题. promise单 ... 
- es6 promise 简单总结
		话不多说,直捣主题. promise用途:异步编程的一种解决方案. 优点:比传统的解决方案——回调函数和事件——更合理和更强大. 三种状态:pending(进行中).fulfilled(已成功)和re ... 
- ES6深入学习记录(二)promise对象相关
		1.Promise的含义 Promise是异步编程的一种解决方案,比传统的解决方案--回调函数和事件更合理和强大.ES6将其写进了语言标准,统一了用法,原生提供了promise对象. 所谓Promis ... 
- 细嗅Promise
		读完这篇文章,预计会消耗你 40 分钟的时间. Ajax 出现的时候,刮来了一阵异步之风,现在 Nodejs 火爆,又一阵异步狂风刮了过来.需求是越来越苛刻,用户对性能的要求也是越来越高,随之而来的是 ... 
- Deferred在jQuery和Angular中的使用与简单实现
		Deferred在jQuery和Angular中的使用与简单实现 Deferred是在jQuery1.5版本中加入的,并且jQuery使用它完全重写了AJax,以前也只是偶尔使用.但是上次在使用Ang ... 
随机推荐
- Swift4 函数, 元组, 运算符
			创建: 2018/02/19 完成: 2018/02/19 更新: 2018/02/25 修改标题 [Swift4 函数] -> [Swift4 函数, 元组, 运算符] 更新 :2018/03 ... 
- Pycharm的安装教学
			Python环境搭建—安利Python小白的Python和Pycharm安装详细教程 人生苦短,我用Python.众所周知,Python目前越来越火,学习Python的小伙伴也越来越多.最近看到群里的 ... 
- vultr 购买vps
			基本安装转自:https://github.com/uxh/shadowsocks_bash/wiki/Vultr%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B 连接 Vul ... 
- centos 7更换阿里源
			转自 https://blog.csdn.net/jameshadoop/article/details/54881295 centos7 修改yum源为阿里源,某下网络下速度比较快 首先是到yum源 ... 
- Vim 插件的安装
			Vim 自带了文本格式化,通过 gg=G 触发.但大数情况下不满足需求,对于特定语言,比如 JavaScript,需要安装相应的插件来实现. 插件的存在形式 Vim 插件以三种形式存在, 单个的 .v ... 
- 目标Python2+3
			很多时候你可能希望你开发的程序能够同时兼容Python2+和Python3+. 试想你有一个非常出名的Python模块被很多开发者使用着,但并不是所有人都只使用Python2或者Python3.这时候 ... 
- codevs 3044 矩形面积求并 || hdu 1542
			这个线段树的作用其实是维护一组(1维 平面(?) 上的)线段覆盖的区域的总长度,支持加入/删除一条线段. 线段树只能维护整数下标,因此要离散化. 也可以理解为将每一条处理的线段分解为一些小线段,要求每 ... 
- 题解报告:poj 2559 Largest Rectangle in a Histogram(单调栈)
			Description A histogram is a polygon composed of a sequence of rectangles aligned at a common base l ... 
- XmlPullParser简单教程
			官网: http://www.xmlpull.org 本文参考 : http://www.xmlpull.org/v1/download/unpacked/doc/quick_intro.html 1 ... 
- Linux普通到root用户切换-转
			1.Linux中的用户切换:su和su - 的区别 大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linu ... 
