什么时候会用到promise
一般在有异步操作的时候会用到promise对异步操作进行一次封装;
promise的运行过程
new -> 构造函数(1、保存一些基本信息 2、执行传入的函数),在执行传入的函数的过程中,又会传入两个固定的参数:reslove和reject,这两个参数本身又是函数。在promise中进行网络请求时,成功则会调用reslove参数,之后在then结构中执行对网络请求到的数据的处理操作;失败则会调用reject参数,之后在catch结构中执行输出错误信息的操作。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ff </title> </head> <body> <script> new Promise((resolve,reject) =>{ setTimeout(() => { // 成功时调用reslove resolve('hello world') // 失败时调用reject // reject('error message') },1000) }).then((data) => { console.log(data); console.log(data); console.log(data); console.log(data); console.log(data); return new Promise((resolve,reject) =>{ setTimeout(() => { resolve('hello vuejs') // reject('error message 2') },1000) }).then((data2) => { console.log(data2); console.log(data2); console.log(data2); console.log(data2); console.log(data2); }).catch(err2 => { console.log(err2); }) }).catch(err => { console.log(err); }) </script> </body> </html>