码迷,mamicode.com
首页 > 其他好文 > 详细

4--面试总结-promise

时间:2019-11-03 23:57:57      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:nbsp   request   异步回调   turn   console   不同的   com   问题   tps   

  1. promise
    异步原理:
    技术图片
    • 定义:promise是异步编程的解决方案,可以解决异步回调地狱的问题;
    • 原理:三种状态两种结果的一个状态机;
      三种状态(pending,fulfilled,rejected)
      两种结果:(success,error)
    • promise.reject与promise.resolve的区别
      promise.reject代码实例
      var failurestub = sinon.stub(xhr, "request").returns(Promise.reject(new Error("bad!")));
      返回一个使用接收到的值进行了reject的新的promise对象。
      而传给Promise.reject的值也应该是一个Error类型的对象。
      *** 另外,和promise.resolve不同的是,即使Promise.reject接收到的参数是一个promise对象,该函数也还是会返回一个全新的promise对象。
      var r = promise.reject(new Error(‘error‘));
      console.log(r === Promise.reject(r)); //false
    • promise.race
      var p1 = Promise.resolve(1),
      var p2 = Promise.resolve(2),
      var p3 = Promise.resolve(3);
      Promise.race([p1, p2, p3]).then(function(){
                promise.log(value); //1
      })
      参数promise数组中的任何一个promise对象如果变为resolve或者reject的话,该函数就会返回,并使用这个promise对象的值进行resolve或者reject,简单言之:谁执行的快,先输出谁的结果;
  2. async/await
 
 

4--面试总结-promise

标签:nbsp   request   异步回调   turn   console   不同的   com   问题   tps   

原文地址:https://www.cnblogs.com/janice-jia/p/11789754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!