promise函数
一、Promise
-
语法: ES6新增的一个语法
-
作用: 对异步函数进行封装,更好的更优雅的处理异步结果
-
使用:
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
5.回调函数嵌套问题-回调地狱
回调地狱:其实就是回调函数嵌套过多导致的。有多个请求,后面请求需要用到前面请求的结果。使用回调函数,会出现回调嵌套
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持久化存储的数据