promise 的学习

promise 是为了解决异步操作的顺序问题而产生的

特性  

  promise 的实例一旦创建就会执行里面的异步操作

  promise 的实例状态一旦改变就变成凝固的了, 无法再对其作出修改,  (不明白为什么如此设计)

  then 方法在所有的同步脚本执行完成之后才会执行

  promise 会吞掉错误, 也就是内部的错误不影响外部的

  在 primise中嵌套 promise, 里面的执行时间决定外面的执行时间

  多个 then 是同步执行的, 后面的 then 会等待前面 then 的执行完成

实例方法

  then 执行回调操作

  catch 捕获错误, 应该就是处理错误的语法糖

  finally 不论如何总是会执行的, 是 then 的特例

类(静态)方法

   Promise.all  接受一个promise 实例的数组, 其结果依赖于数组中实例的状态, 都是 resolve的时候, promiseAll 实例才是 resolve

  Promise.race 也是接受一个 promise 实例数组, 谁第一返回结果, 谁就决定 promiseAll的状态

  Promise.resolve 把一个非 promise 对象转化为 promise 对象,

  Promise.reject, 真没发现这个方法有啥存在的必要

  Promise.try 可以让同步函数同步执行, 异步函数异步执行

  Promise.catch 可以同时捕获同步和异步错误

  

  

  

原文地址:https://www.cnblogs.com/cgdx/p/10762788.html

时间: 2024-10-10 10:56:01

promise 的学习的相关文章

promise的学习心得记录

这里只讲promise,和async的使用方法,不会讲他们的原理. Promise 是异步编程的一种解决方案,可以用于取代传统的回调函数,该变那些函数层层嵌套调用的尴尬局面. 1)promise 基本语法: var p= new Promise(function(resolve,reject){ if(....) resolve(); else reject(.....); }); p.then(function(){//resolve ....... }).catch(function(){/

JavaScript中 Promise的学习以及使用

今天一个哥们发过来一段js代码,没看懂,就顺便学习了一下,代码如下 Promise.resolve('zhangkai').then(value => {console.log(value)}) 经过搜索,才知道是Promise的应用,于是就做一下笔记,整理一下,以及项目中可以派上的用场. 什么是Promise对象 Promise对象是CommonJS工作组为异步编程提供的统一接口,是ECMAScript6中提供了对Promise的原生支持,Promise就是在未来发生的事情,使用Promise

ES6的promise的学习

1.Promise的含义: Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象. 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise是一个对象,从它可以获取异步操作的消息.Promise提供统一的API,各种异步操作都可以用同样的方法进行处理. Promise对象有以下两个特点. (1)

[javascript] Promise简单学习使用

原文地址:http://www.cnblogs.com/dojo-lzz/p/4340897.html 解决回调函数嵌套太深,并行逻辑必须串行执行,一个Promise代表一个异步操作的最终结果,跟Promise交互的主要方式是通过他的then()方法来注册回调函数,去接收Promise的最终结果值 Promise相关的协议有PromiseA和PromiseA+ 定义一个类Promise 定义属性队列queue,初始化空数组[] 定义属性值value,初始化null 定义属性状态status,初始

Javascript Promise对象学习

ES6中的Promise对象 var p = new Promise(function(resolve, reject){ window.setTimeout(function(){ console.log("1",1); resolve(1); },10); }); p.then(function(a){ return new Promise(function(resolve,reject){ window.setTimeout(function(){ console.log(&qu

promise规范学习

/* ecma6 实现了原生的js实现规范 解决异步加载的问题 */ /* es6中原生的promise如何使用 状态 -> pending等待 ->resolve 通过状态 -> reject 拒绝状态 then方法 调用 resolve 和 reject 状态所对应的回调函数 */ 用法: jquery中的用法 <script> /* jquery中的deferred */ $(function() { function show1(time) { // reject可省

promise的学习

为了解决回调地狱的问题,所以出现了promise的设计思想. promise的三种状态: pending 等待状态 resolved 完成状态 rejected 拒绝状态 promise的三种状态,只能是pending->resolved或者pending->rejected,不能有其他类型的状态转换,并且状态一旦发生转换,就不再发生变化. promise的方法: 1.then 2.all 3.race 上例子吧 : 例子1:在异步的读取完a1,a2,a3,a4,a5的文件之后,执行一个总的方

前端学习总结(三)javascript——前端世界的精髓所在

一 说一说js的前世,今生与未来 JavaScript历史 要了解JavaScript,首先要回顾一下JavaScript的诞生. 在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成为Web时代开启时最著名的第一代互联网公司. 由于网景公司希望能在静态HTML页面上添加一些动态效果,于是一位叫布兰登·艾克(Brendan Eich)的哥们在两周之内设计出了JavaScript语言.你没看错,这哥们只用了10天时间. 这里放上一张Brendan Eich的照片,向大师致敬!(

ES6之Promise用法详解

一 前言 本文主要对ES6的Promise进行一些入门级的介绍.要想学习一个知识点,肯定是从三个方面出发,what.why.how.下面就跟着我一步步学习吧~ 二 什么是Promise 首先是what.那么什么是Promise呢? 以下是MDN对Promise的定义 The Promise object is used for asynchronous computations. A Promise represents a single asynchronous operation that