首页 > 其他分享 >Promise

Promise

时间:2023-02-16 11:11:05浏览次数:32  
标签:resolve console log rejected Promise pending

promise的三种状态:pending(进行中)、fulfilled(已完成)、rejected(已失败)。

那天,我看到了网上一个例子,脑瓜子想破了,也没想明白。来吧!贴出来,欣赏下:

 

Promise.resolve().then(() => {
    console.log(0);
    return Promise.resolve(4);
}).then((res) => {
    console.log(res)
})

Promise.resolve().then(() => {
    console.log(1);
}).then(() => {
    console.log(2);
}).then(() => {
    console.log(3);
}).then(() => {
    console.log(5);
}).then(() =>{
    console.log(6);
})

 

 

 

   这不就是 0,1,2,3,4,5,6嘛~

 

那我们试试,到浏览器输出看一下

结果为:【0、1、2、3、4、5、6】  (キ`゚Д゚´)!!

可是, 怎么跑到  3 后边去的呀!

下面,我们浅浅道来。(有没有装B装到,哈哈)

 

  • Promise是一个类,在执行这个类的时候会传入一个执行器,这个执行器会立即执行
  • Promise会有三种状态:pending(等待),fullfilled(完成),rejected(失败)
  • 状态只能由pending-->fullfilled ,  pending---->rejected,一旦发生改变便不可修改。
  • promise中使用resolve,reject两个函数来更改状态。
  • then方法内部做但事情就是状态判断: 成功调用成功回调函数,失败调用失败回调函数

 

标签:resolve,console,log,rejected,Promise,pending
From: https://www.cnblogs.com/alaner/p/17126010.html

相关文章

  • 完整的 promise-class
    constPENDING='pending'constFULFILLED='fulfilled'constREJECTED='rejected'classMPromise{FULFILLED_CALLBACK_LIST=[]REJECTED_CALLBACK_LIST=......
  • 实现一个Promise
    一步步实现一个Promise平常用promise的时候,是通过new关键字来newPromise(),所以咱们应该用构造函数或者class来实现.都2021年了,咱们就用class来实现一下吧.clas......
  • 用Promise封装一个ajax
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metaname="viewport"co......
  • PromiseA+规范
    PromiseA+规范讲解PromiseA+规范前,咱们先来了解一下这些术语,以便在后续提到的时候有明确且统一的概念.术语promise是一个有then方法的对象或者是函数,行为遵循本规......
  • Promise封装AJAX请求
         复制可用//接口地址:http://poetry.apiopen.top/sentences(随机获取一句诗词)//新建一个Promise对象constPro=newPromise(......
  • Promise使用
    ECMAscript6原生提供了Promise对象。Promise对象代表了未来将要发生的事件,用来传递异步操作的消息。Promise对象有以下两个特点:1、对象的状态不受外界影响。Prom......
  • Promise封装读取文件
     //1.引入fs模块constfs=require('fs')//2.调用方法读取文件fs.readFile('./ES6/CCTV.md',(err,data)=>{//如果失败,则抛出错误if(err)throwerr;......
  • Promise构造函数
    介绍Promise是ES6引入的异步编程的新解决方案,语法上Promise是一个构造函数,用来封装一步操作并可以获取其成功或失败的结果。1.Promise构造函数:Promise(excutor){}2.P......
  • web前端 Promise.all、Promise.allSettled方法
    Promise.allSettled执行多个Promise对象实例,配合await使用,可以达到等待任务全部完成后再继续执行的效果。返回值是一个成功的Promise,其内部值为参数中的Promise的执行结......
  • Promise 基本了解和使用
    所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise提供统一......