![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
promise
文章平均质量分 52
ZC97
这个作者很懒,什么都没留下…
展开
-
async与await
async函数: 1、函数的返回值为promise对象 2、promise对象的结果由async函数执行的返回值决定 async function main(){ // 1、如果返回值是一个非Promise类型的数据 return 521; // 2、如果返回的是一个Promise对象 return new Promise((resolve,reject)=>{ resolve('OK'); reject('Error'); }) // 3、抛出异常 throw 'error';原创 2021-02-19 21:18:01 · 277 阅读 · 0 评论 -
手写Promise
// Promise自定义封装-class版本的实现 class Promise{ // 构造方法 constructor(executor) { // 添加属性 this.PromiseState = 'pending'; this.PromiseResult = null; // 声明属性 this.callbacks = []; // 保存实例对象的this值 const self = this; // resolve原创 2021-02-19 20:30:06 · 61 阅读 · 0 评论 -
Promise(三)---关键问题
1、如何改变promise的状态? (1)resolve(value):如果当前是pending就会变为resolved (2)reject(reason):如果当前是pending会就变为rejected (3)抛出异常:如果当前是pending就会变为rejected Promise对象状态改变的方式: let p = new Promise((resolve,reject)=>{ // 1、resolve函数 pending => fulfilled(resolved) resolve原创 2021-02-19 14:49:36 · 98 阅读 · 0 评论 -
Promise(二)
1、Promise构造函数:Promise(excutor){} (1)executor函数:执行器(resolve,reject)=>{} (2)resolve函数:内部定义成功时我们调用的函数value=>{} (3)reject函数:内部定义失败时我们调用的函数reason=>{} 说明:executor会在Promise内部立即同步调用,异步操作在执行器中执行。 2、Promise.prototype.then方法:(onResolved,onRejected)=>{} (1原创 2021-02-19 14:16:07 · 86 阅读 · 1 评论 -
Promise(一)
1、promise是什么? (1)抽象表达:promise是ES6引入的进行异步编程的新解决方案(旧方案是单纯使用回调函数)。 (2)具体表达:从语法上来说promise是一个构造函数,可以进行对象的实例化,从功能上来说promise对象用来封装一个异步操作并可以获取其成功失败的结果值。 异步编程操作有如下几种: 1、fs文件操作:require('fs').readFile('./index.html',(err,data)=>{}) 2、数据库操作 3、ajax:$.get('./server',原创 2021-02-19 12:29:42 · 151 阅读 · 0 评论