promise原理

2021-07-04  本文已影响0人  二荣xxx

promise存在的原因

promise是异步问题的统一解决方案,在promise出来之前,解决异步只能用回调,回调的层级多了书写和读代码多多少少有点地狱模式,当时回调的参数名也不统一,有的叫success,done;有的叫success,fail,有的失败的回调在前,便于规范统一,于是有了promise

promise原理

要怎么拿到异步结果(随机数)呢

const p1 = function () {
        setTimeout(() => {
          parseInt(Math.random() * 80 + 1);
        }, 2000)
      return undefined;
    };

很简单给异步结果传一个回调,将结果作为参数传给函数不就行了吗,是不是很机智

const fn = function (result) {
      console.log(result); // 生成的随机数
    };
    const p1 = function (fn) {
      fn(
        setTimeout(() => {
          parseInt(Math.random() * 80 + 1);
        }, 2000)
      );
      return undefined;
    };
console.log(p1(fn)); //undefined

那既然这个p1可以接受一个参数(回调)那为什么不给他传两个参数(回调)呢,一个成功的执行一个失败执行,是不是就很接近promise了

上一篇 下一篇

猜你喜欢

热点阅读