一、Promise是什么?
Promise是ES6规范的新技术,是js中进行异步编程的新的解决方案,在此之前,异步编程主要是通过回调函数来实现。具体可以从两个部分上看:
💕语法上:是一个构造函数
💕功能上:是用来封装一个一步操作并可以获取它成功/失败的结果值
❗️补充:js编程中哪些属于异步操作?
常见的定时器,AJAX,mySQL数据库操作,以及fs文件操作(node.js:require(‘fs’).readFile('./index.html'),(err,data)=>{ })。
二、为什么要用Promise?
1、指定的回调函数方式更加灵活
在没有Promise之前指定回调函数必须在启动异步任务前进行指定;Promise实现:启动异步任务=>返回Promise对象=>给Promise对象绑定回调函数(甚至可以在异步任务结束后指定多个),大大的增加了我们指定回调函数的灵活性。
2、支持链式调用,可以解决回调地狱问题
📍2·1什么是回调地狱?
回调函数嵌套调用,外部回调函数异步执行的结果是嵌套的回调执行的条件
(类似于俄罗斯套娃,函数套函数)
📍2·2回调地狱缺点
不利于阅读、不便于异常处理
📍2·3解决方案
Promise链式调用
三、面试中问到Promise概念可以简单这么概述下
首先Promise是ES6中新引出的异步解决方案,从语法上来说他是一个构造函数,可以实例化对象,封装异步操作,获取成功/失败的结果,优点是支持链式调用,可以解决回调地狱问题,这些是一定要答出来的。