美文网首页ECMAScript6面试知识点Promise面试知识点
Promise从入门到拿Offer之基本概念介绍

Promise从入门到拿Offer之基本概念介绍

作者: 团子哒哒 | 来源:发表于2020-12-30 20:44 被阅读0次


    1. Promise是什么?

    Promise是js中进行异步编程的新解决方案。从语法上说,它是一个构造函数;从功能上说,Promise对象用来封装一个异步操作并可以获取其成功/失败结果值。

    2. Promise的状态有哪些?

    Promise的状态有三种:pending、resolved、rejected。

    状态改变只有两种:1)pending ——> resolved;2)pending ——> rejected。

    注意:状态改变只有两种,且一个Promise对象只能改变一次。也即只有成功或失败其中一种结果。成功的结果我们称之为valve;失败的结果我们称之为reason。

    3. Promise的基本流程

    Promise的的基本流程

    4. Promise的基本使用


    // 1. 创建Promise对象,此时状态为Pending,指定执行器函数

      const p = new Promise((resolve, reject) => {

        // 2. 执行器函数启动异步任务

        setTimeout(() => {

          const num = Math.random();

          // const num = 3;

          // 3. 根据不同结果做不同处理

          if (num % 2 === 1) {

            // 成功则调用resolve()函数,指定成功的value,状态变为resolved

            resolve("奇数为成功的结果:" + num);

          } else {

            // 失败则调用reject()函数,指定失败的reason,状态变为rejected

            reject("偶数为失败的结果:" + num);

          }

        }, 1000);

      });

      // 4.指定成功或失败的的回调函数获取成功的value或失败的reason

      p.then(

        // 成功的回调函数获取成功的value

        value => {

          console.log(value)

        },

        // 失败的的回调函数获取失败的reason

        reason => {

          console.log(reason)

        }

      )


    5. 回调函数的分类

    1)同步回调函数:立即执行,完全结束调用才结束,不会放入回调队列中。

    2)异步回调函数:不会立即执行,会放入回调队列中将来执行。如定时器调用、ajax请求,文件操作等。

    6. 常见的JS错误

    1)Error:所有错误的父类型。

    2)ReferenceError:引用变量不存在。

    3)TypeError:数据类型不正确。

    4)RangeError:数据值超过范围。

    5)SyntaxError:语法错误。

    相关文章

      网友评论

        本文标题:Promise从入门到拿Offer之基本概念介绍

        本文链接:https://www.haomeiwen.com/subject/xnxkoktx.html