promise函数和localStorage应用

249 阅读1分钟

promise函数

一、Promise

  1. 语法: ES6新增的一个语法

  2. 作用: 对异步函数进行封装,更好的更优雅的处理异步结果

  3. 使用:

       let promise = new Promise(function(resolve,reject){
                 // resolve 函数 处理异步任务成功的结果  resolve('成功')
                 // reject 函数  处理异步任务失败的结果  reject('失败')
                 
                 // 异步任务封装
    
       setTimeout(function(){
             if(true){
                  resolve('成功')
             }else{
                  reject('失败')
                  }
            },1000)
        })
    
        promise.then(function(result){
            result=>成功
        })
        promise.catch(function(error){
            error=>失败
        })
    

4. promise的两个特点

4.1. 对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)、rejected(已失败)

4.2. 一旦状态发生改变,就不会在变。Promise对象的状态改变,只有两种可能:1、从 pending ---> fulfilled 2、从 fulfilled ---> rejected

图片.png

5.回调函数嵌套问题-回调地狱

回调地狱:其实就是回调函数嵌套过多导致的。有多个请求,后面请求需要用到前面请求的结果。使用回调函数,会出现回调嵌套

图片.png

6.promise链式调用

6-1. promise解决回调嵌套问题

  promiseA.then(a=>{
      let promiseB = new Promise((resolve,reject)=>{
        //封装B异步操作 a
     })
      return promiseB
  }).then(b=>{
      let promiseC = new Promise((resolve,reject)=>{
      //封装C异步操作 b
      })
          return promiseC
      }).then(c=>{
            console.log(c)
     })

二、本地存储 Storage

电脑硬盘: 存储化存储数据

电脑内存: 临时数据 -电脑关机或者程序终止数据消失

    localStorage对象

       setItem(key1,value1)  // 存储一条数据到localStorage
       setItem(key2,value2)  // 存储一条数据到localStorage
       let value1 = getItem(key1)  // 获取localStorage数据

       removeItem(key)  //移除key对应数据
       clear()  // 清空所有数据



       key 类型 字符串类型
       value 字符串
           let obj = {name:'jack',age:18}
           JSON.stringify(obj) 
           true -> 'true'
           100 -> '100'

浏览器 application选项查看localStorage持久化存储的数据