学习熟知吧,原理还是继续吧

例子1:
var isGeted;
function getRet(){
return new Promise(function(resolve, reject) {
//一些异步操作
if(isGeted){
resolve("yYYYYYYY")
}
else{
reject("NNNNNNNNNNNNNNNNNN")
}
});
}
isGeted=true;
getRet().then(function(data){
console.log("返回数据:"+data)
}); isGeted=false;
getRet().then(function(data){
console.log("返回数据:"+data)
}).catch(function(err){
console.log("错误:"+err)
}); 例子2:
Promise原理探究:
var promise1 = new Promise(function(resolve, reject) { //某个异步方法
setTimeout(function() { resolve('foo'); }, 300); }); promise1.then(function(value) { console.log(value); }); console.log(promise1); //返回:promise对象,状态是pending "foo"
console.log(promise1); //返回:promise对象,状态是resolved promise像一个代理,异步方法不知道执行结果,promise预定好,成功执行某方法,失败执行某方法,让异步方法按照成功与失败的设定路线去执行。
又像是个状态管理工具,状态只有三种:resolved,rejected,pending
pending---->resolved
pending---->rejected promise1.then(function(value) { console.log(value); }).catch(function(err){ }); then其实接受两个函数参数,如下:
promise1.then(function(value) { console.log(value); },function(err){
console.log(err);
})
一个是resolve函数,一个是reject函数。 new Promise后就会被执行一次,所以一般外面包成一个函数,如:
var funOne = function(){
return new Promise(function(resolve,reject){ })
}
funOne.then().then().catch().finally().race().all()等等。

  

略。

Promise学习探究的更多相关文章

  1. 标准模板库(STL)学习探究之stack

    标准模板库(STL)学习探究之stack queue priority_queue list map/multimap dequeue string

  2. 标准模板库(STL)学习探究之vector容器

    标准模板库(STL)学习探究之vector容器  C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被 ...

  3. Javascript - Promise学习笔记

    最近工作轻松了点,想起了以前总是看到的一个单词promise,于是耐心下来学习了一下.   一:Promise是什么?为什么会有这个东西? 首先说明,Promise是为了解决javascript异步编 ...

  4. Promise 学习笔记 - 时间支配者

    本文同步自我的个人博客:http://www.52cik.com/2015/11/08/promise.html JavaScript 的 promises 事实标准称为 Promises/A+.ES ...

  5. Javascript Promise 学习 (中)

    时隔多日,对promise有了多一点点的了解. 最近用angularjs 做开发,所以研究了一下它的 $q 功能不算很强大,算是简化版的 Q.js 参考了一下源码,不过我的等级还差很多... 作为学习 ...

  6. Javascript Promise 学习(上)

    Promise 就是处理异步的一个规范方法 a();b();alert("a");如果a() 里面有一个ajax 或者settimeout 那么alert("a" ...

  7. JavaScript之Promise学习笔记

    一直想知道Promise到底是怎么实现的,网上一搜几十篇文章,看的一脸蒙蔽.最后算是找到几个讲的真心很详细明了的.看了一份源码看了很久很久……最后找大佬问了几处看不懂的地方,大佬只看了十几分钟就看懂了 ...

  8. Android学习--探究服务(一)

    什么是服务? 服务(service)是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖任何的用户界面,即使应用被切换到后台或者 ...

  9. Promise 学习心得

    当了这么久码农到今天没事才开始去深究 Promise 这个对象 什么是 Promise, Promise 有什么用? 在写代码的时候多多少少都有遇见过地狱式的回调 代码看起来没问题就是有点乱,Prom ...

随机推荐

  1. 编译源码 JAVA out of memory

  2. Centos6.10安装tomcat

    1.  下载tomcat 2.  解压到相应的路径下 tar -xzvf apache-tomcat-8.5.34.tar.gz 3.  启动tomcat # 进入"apache-tomca ...

  3. Solr学习笔记之问题汇总

    一. 问题描述:Solr在建立索引时候出现如下错误:org.apache.solr.common.SolrException: Document [null] missing required fie ...

  4. 2018牛客网暑期ACM多校训练营(第三场) H - Diff-prime Pairs - [欧拉筛法求素数]

    题目链接:https://www.nowcoder.com/acm/contest/141/H 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K ...

  5. codeforces 355C - Vasya and Robot

    因为在允许的情况下,必然是左右手交替进行,这样不会增加多余的无谓的能量. 然后根据不同的分界点,肯定会产生左手或右手重复使用的情况,这是就要加上Qr/Ql * 次数. 一开始的想法,很直接,枚举每个分 ...

  6. SHU 414 - 字符串进制转换

    题目链接:http://acmoj.shu.edu.cn/problem/414/ 很咸鱼的网上拉了个进制转换模板过来,因为数组开的太小一直WA,后来一气之下MAXN开到1e5,真是蓝瘦…… 后来实在 ...

  7. Oracle备份恢复之rman备份oracle数据库

    备份需求和rman备份 oracle数据库的备份相关问答: 1)备份时数据库处于何种状态? 备份时数据库处于OPEN状态,这样数据库可以正常工作. 2)备份的数据备份在什么地方? 备份在本地磁盘. 3 ...

  8. Circular reference 循环引用 第二联系人

    A circular reference is a series of references where the last object references the first, resulting ...

  9. Java8 Collectors.toMap的坑

    按照常规思维,往一个map里put一个已经存在的key,会把原有的key对应的value值覆盖,然而通过一次线上问题,发现Java8中的Collectors.toMap反其道而行之,它默认给抛异常,抛 ...

  10. 学习计划 mysql 用户管理与权限

    最近在学习数据库的 主从复制 里面涉及到了关于用户及其管理权限的赋予,之前一直没有认真的学习这个. 现在想具体的学习一下. -- 为什么 数据库 要实现多用户管理? 举个最简单的例子,你需要和第三方做 ...