promise的含义(面试题)

1.Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。
2.所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。

promise对象的特点
1.Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。
2.对象的状态不受外界影响,一旦状态改变,就不会再变,任何时候都可以得到这个结果.
3.一般在网络请求那块会用到promise对象(解决回调地狱)

   Promise 封装 ....
        1. 功能的主要代码逻辑 都放到 promise里边
        2. 功能执行的结果 通过 resolve() 和 reject() 传递结果
        3. 函数需要返回一个Promise 实例
 1   function ajax(url, type, data){
 2             return new Promise((resolve, reject) => {
 3                 let xhr = new XMLHttpRequest();                
 4                 xhr.open('get', url);
 5                 xhr.send();
 6                 xhr.onreadystatechange = function(){
 7                     if(xhr.readyState !== 4){
 8                         return;
 9                     }
10                     if(xhr.status == 200){
11                         resolve(xhr.responseText)
12                     }else{
13                         reject('失败')
14                     }                   
15                 }              
16             })
17         }
18 
19         ajax('http://localhost:3000/posts').then(result => {
20             console.log(result);
21         })
22 
23  

 

posted @ 2022-07-01 18:50  请善待容嬷嬷  阅读(182)  评论(0编辑  收藏  举报