promise异步队列化

1,025 阅读1分钟

promise异步队列化

promise异步队列化,使代码更简洁,可读性更高

1.常见的异步程序主要有

  • 定时器
  • 事件绑定
  • AJAX

2.promise的使用

首先需要创建一个promise对象,promise对象中有两个参数,若成功就调用resolve方法,失败调用reject方法

 	const promise = new Promise((resolve, reject)=>{
      console.log('promise的函数执行了...');
      // 执行异步操作
      setTimeout(() => {
        console.log('setTimeout执行了.....');
        //........
        // resolve([1, 2, 3]);
        reject(new Error('网络错误'));

      }, 1000);
    });

对异步函数产生的回调函数使用.then()方法进行操作

 promise.then(
     // resolve状态执行
     (data)=>{
       console.log('回调1执行了....');
       console.log(data);
     }, 
     //reject状态执行
     (err)=>{
       console.log('回调2执行了....');
       console.log(err);
     }
   );

也可以使用.catch方法对失败的错误信息进行捕捉

 .catch((error)=>{
        console.log(error);
      })

promise 的一个常见的面试题

	 console.log(1);
	 let p = new Promise((resolve, reject)=>{
        console.log(2);
        'fasdfasdfasd'.map();
        resolve('success');
        console.log(3);
      });
      
      console.log(4);

      p
      .then((data)=>{
        console.log(5);

        // console.log('then执行了:', data);
        // return Promise.resolve(data);
        // return Promise.reject(data);
      })
      .then((data)=>{
        console.log('then执行了:', data);
      })
      .catch((error)=>{
        console.log(6);
        console.log('catch执行了:', error);
      })

      console.log(7);

结果为: 123475 自己学习的小总结,感觉知识有些零散,希望自己以后可以有更好的总结