promise到底是个什么??

promise是什么?

promise是一门新的技术(es6规范)

promise是js中进行异步编程的新的解决方案  旧的方案是单纯的使用回调函数

具体的说  promise是构造函数  可以快速构建promise对象  快速获取成功或者失败的值

异步操作有哪些??

1数据库操作

2   ajax      $.get('/serve',(data)=>{})

3   定时器   setTimeout(()=>{},2000)

4  nodejs中的fs模块(对计算机的硬盘进行读写操作)

为什么现在用promise? 他解决了什么问题 ?

解决了回调地狱!!  老生长谈    那什么是回调地狱 

promise到底是个什么??_第1张图片

这个就是回调地狱  一个回调函数套着另一个异步任务  里面的回调函数还嵌套异步任务

代码不断地向前缩进   不便于阅读  而且不便于异常处理  这里需要提到为什么要使用promise了   因为他支持链式调用 并且解决了回调地狱的问题  

并且 之前异步编程必须在启动任务前准备好回调函数   但是promise可以启动异步任务之后  返回promise对象之后 再给promise对象绑定回调函数  甚至可以异步任务结束之后指定多个回调函数来处理结果  比传统的异步编程方法指定回调函数的方式更加的灵活

例子

promise到底是个什么??_第2张图片

promise到底是个什么??_第3张图片

.then方法可以指定成功和失败时的回调  如果成功就调用第一个函数  如果失败就调用第二个函数

并且可以把参数传到.then方法中的函数中

promise对ajax请求的封装

 promise到底是个什么??_第4张图片

promise到底是个什么??_第5张图片

但是在我们的项目中  我们不是这么用promise封装Ajax请求的  一般是封装一个请求  然后根据传入的对象不同 进行不同的请求  下面是封装一个根据不同地址进行不同请求的函数

promise到底是个什么??_第6张图片

若我整理的文章能对诸位有些许帮助  我将不胜荣幸

你可能感兴趣的:(前端,javascript,开发语言)