4--面试总结-promise

Posted janice-jia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4--面试总结-promise相关的知识,希望对你有一定的参考价值。

  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的主要内容,如果未能解决你的问题,请参考以下文章

axios + ajax 面试题总结

vue面试题总结

面试总结(2019年12月20日)

面试思路总结

promise知识点以及面试题

刷《一年半经验,百度有赞阿里面试总结》·手记