zoukankan      html  css  js  c++  java
  • Promise

    所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。
     
    两个特点:
    对象的状态不受外界影响:promise对象代表一个异步操作,有三种状态:pending 、fulfilled、rejected。
    一旦状态改变就不会在变:任何时候都可以得到这个结果。
    Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。
     
    ES6 规定,Promise对象是一个构造函数,用来生成Promise实例。Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolve和reject。它们是两个函数,由 JavaScript 引擎提供,不用自己部署。
     
    resolve函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;reject函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
     
    Promise.prototype.then()
    Promise 实例具有then方法,也就是说,then方法是定义在原型对象Promise.prototype上的。
    then方法返回一个新的promise实例。
     
    Promise.prototype.catch()
    Promise.prototype.catch方法是.then(null, rejection)或.then(undefined, rejection)的别名,用于指定发生错误时的回调函数。
     
    Promise.all()
    Promise.all方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。
     
     
  • 相关阅读:
    entityframework学习笔记--002-database first
    ServletContext总结
    form 表单提交类型
    对称加密与非对称加密
    跨域详解
    https工作原理
    Entity Framework数据库初始化四种策略
    Modbus 协议解析
    CAFFE(FAQ.2):Ubuntu 配置caffe 框架之数据库读取,错误解决:ImportError: No module named leveldb解决办法
    CAFFE(0):Ubuntu 下安装anaconda2和anaconda3
  • 原文地址:https://www.cnblogs.com/jsersudo/p/11314892.html
Copyright © 2011-2022 走看看