NewPromise玩玩

  • 首先介绍一下Promise,ES2015正式发布Es6,其中的promis被列为正式规范。作为Es6中最重要的特性之一。
  • Promise 的概念:
    Promise 对象用于表示一个异步操作的最终完成 (或失败)及其结果值。

是骡子是马拉console.dir(Promise)出来看看

注:console.dir()可以显示一个对象所有的属性和方法。
ƒ Promise()
all: ƒ all()
allSettled: ƒ allSettled()
any: ƒ any()
arguments: (...)
caller: (...)
length: 1
name: "Promise"
prototype: Promise {Symbol(Symbol.toStringTag): "Promise", constructor: ƒ, then: ƒ, catch: ƒ, finally: ƒ}
race: ƒ race()
reject: ƒ reject()
resolve: ƒ resolve()
Symbol(Symbol.species): (...)
get Symbol(Symbol.species): ƒ [Symbol.species]()
__proto__: ƒ ()
[[Scopes]]: Scopes[0]
  • 我们可以看到 Promise 是一个构造函数 对吧,看到这里我们是不是都很熟悉,原型上挂在的方法,reject,resolve,then,catch,finally 等等…
1. 废话不多说了,关子也不卖了,我们开始看他的之处

起步 new 一个 Promise 玩玩吧!

let prom = new Promise((resolve, reject) => {
   setTimeout(function () {
       console.log('你是个大麻瓜');
       resolve('你成功输出大麻瓜')
   },0)
 })
 console.log(prom);
 // 输出结果如下
Promise {<pending>}
__proto__: Promise
catch: ƒ catch()
constructor: ƒ Promise()
finally: ƒ finally()
then: ƒ then()
Symbol(Symbol.toStringTag): "Promise"
__proto__: Object
[[PromiseState]]: "fulfilled"
[[PromiseResult]]: "你成功输出大麻瓜
你是个大麻瓜
//操作过程
在上面的代码中,我们执行了一个异步操作,也就是setTimeout,输出“执行完成”,并且调用resolve方法。
// 概念
		Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,reject,
		分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数。
		其实这里用“成功”和“失败”来描述并不准确,按照标准来讲,resolve是将Promise的状态置为fullfiled,
		reject是将Promise的状态置为rejected
写着写着就饿了,晚上吃过饭再写!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值