老铁们,我又满血复活了,今天我准备来吹一波我对promise,如有错吴请直接指出,明白了吗?话不多说开始吧

  首先我们需要知道啥叫promise,我问了问大佬,他说这个东西是 异步操作的同步代码(but有兼容问题).

下面我来说说我自己对他的理解:

这个小东西吧还是挺可爱的,来,我们了解了解他

1.它是一个构造函数,使用的时候需要用new实例化

2.他有一个参数,这个参数是一个回调函数,这个回调函数里面又有两个参数,第一个为resolve  第二个为 reject   (这里先放一下,我们来上一段代码要不然太抽象了)

    new Promise(function(resolve,reject) {
             resolve()
       }).then(function(){},function(){})
      注释:当回调函数里面调用resolve()时,.then会调用第一个函数;当回调函数里面调用reject()时,.then会调用第二个函数
                  也可以如下面这样写
      new Promise(function(resolve,reject) {
               resolve()
          }).then(function(){}).cath(function(){})    
                 注释:这种写法,当回调函数里面调用resolve()时,.then会执行;当回调函数里面调用reject()时,.catch会执行
                    大佬们可能发现了,那我的resolve和reject是形参啊,可不可以用别的名字,当然可以的啦,不过要注意和回调函数内部的调用名字统一起来
  
   3.Promise.all(arr).then(function(){})         arr为数组
           Now,我们来说一说Promise的非常有用的方法之一  all方法,这个方法作用:当all里面数组里的所有异步操作都执行完毕后再去执行.then();
  
  4.Promise.race(arr).then(function(){})       arr为数组
          接下来我们来说一说Promise的另一个方法  race方法,这个方法作用:当race里面数组里的异步操作只要有一个执行完毕后就会去执行.then();
       
  5.我自己体会的作用,如有缺失,请立刻联系我,你给我补充,我给你打钱
    Promise作用:    1.解决回调地狱(关于这个地狱问题,我会在随后的随笔中介绍一下)
            2.将Ajax获取来的数据和业务逻辑分开
                 2.Promise.all()方法可以解决多个Ajax传回的信息再次组合进行查询
       告辞,告辞

************************************************又在成为最会说相声的程序员的路上迈出了具有历史性的一步*******************************************************************

promise的理解和应用的更多相关文章

  1. promise的理解和使用

    1. Promise是什么 1.1 promise 的理解 1. 抽象表达: Promise 是 JS 中进行异步编程的新的解决方案(旧的是纯回调形式) 2. 具体表达: (1)从语法上说:Promi ...

  2. 「每日一题」面试官问你对Promise的理解?可能是需要你能手动实现各个特性

    关注「松宝写代码」,精选好文,每日一题 加入我们一起学习,day day up 作者:saucxs | songEagle 来源:原创 一.前言 2020.12.23日刚立的flag,每日一题,题目类 ...

  3. 谈谈你对Promise的理解

    一.Promise是什么? 理解 抽象表达: Promise 是一门新的技术(ES6 规范) Promise 是 JS 中进行异步编程的新解决方案(备注:旧方案是单纯使用回调函数) 具体表达: 从语法 ...

  4. promise的理解

    为什么会有promise,他的作用是什么? promise主要是为了解决js中多个异步回调难以维护和控制的问题. 什么是promise? 从图中,我们可以看出,Promise是一个函数,这个函数上有在 ...

  5. 对Promise的理解?

    ES6原生提供了promise对象 所谓Promise,就是一个对象,用来传递异步操作的消息.它代表了某个未来才会知道结果的事件(通过是一个异步操作),并且这个事件提供统一的API,可供进一步处理 P ...

  6. 一点对Promise的理解与总结

    全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/10959411.html,多谢,=.=~ axios用多了就开始疑惑它里面到底是个啥,虽然总被告知 ...

  7. 谈谈我对Promise的理解

    一.Promise是什么? Promise是最早由社区提出和实现的一种解决异步编程的方案,比其他传统的解决方案(回调函数和事件)更合理和更强大. ES6 将其写进了语言标准,统一了用法,原生提供了Pr ...

  8. 简单理解ECMAScript2015中的Promise

    ECMAScript6中新增了Promise对象, 所谓Promise对象,即代表着一个还未完成,但将来某时会完成的操作(通常是异步操作).使用Promise对象,我们就可以避免陷入函数层层嵌套的‘回 ...

  9. 深入理解promise

    如今promise大行其道,关于异步方面的几乎都有它的影子,新的fetch api返回的是promise对象,generator中的yield后面一般也会跟promise对象,async的await后 ...

随机推荐

  1. .gitignore总结

    git进行管理时,.gitignore是必不可少的,可以指定不需要提交到仓库的资源.最好在git init之后就创建 .gitignore文件,这是个好习惯,常用的配置及说明如下:

  2. Android MediaPlayer setDataSource failed

    今天在尝试使用MediaPlayer播放音乐时出了一个问题,在使用 mp.setDataSource(this,Uri.parse("/sdcard/Music/adele.mp3" ...

  3. php5.3新垃圾回收机制详解

    php的垃圾回收机制主要参考了http://blog.csdn.net/phpkernel/article/details/5734743 这文章. 变量对应的值,比如 $a="abc&qu ...

  4. golang 闭包求斐波那契数列

    题目是Go指南中的闭包求斐波那契数列 package main import "fmt" // 返回一个"返回int的函数" func fibonacci() ...

  5. POJ 2485

    #include<iostream> #define MAXN 505 #define inf 1000000000 using namespace std; typedef int el ...

  6. 消息队列系统 -- RabbitMQ

    消息队列系统 -- RabbitMQ RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Que ...

  7. Python 模块 和 包

    模块 os模块 路径拼接 os.path.join

  8. storm_分组策略

      注意1:原始的案例 spout 和bolt都是1个并发  所以文件中30条日志 从spout发出以后 bolt接受到30条

  9. Objective-C 字符串与数值互相转换

    Convert NSString to int NSString *aNumberString = @"123"; int i = [aNumberString intValue] ...

  10. 数据库设计 Step by Step (1)——扬帆启航

    引言:一直在从事数据库开发和设计工作,也看了一些书籍,算是略有心得.很久之前就想针 对关系数据库设计进行整理.总结,但因为种种原因迟迟没有动手,主要还是惰性使然.今天也算是痛下决心开始这项卓绝又令我兴 ...