promise是一门新的技术(es6规范)
promise是js中进行异步编程的新的解决方案? 旧的方案是单纯的使用回调函数
具体的说? promise是构造函数? 可以快速构建promise对象? 快速获取成功或者失败的值
1数据库操作
2? ?ajax? ? ? $.get('/serve',(data)=>{})
3? ?定时器? ?setTimeout(()=>{},2000)
4? nodejs中的fs模块(对计算机的硬盘进行读写操作)
为什么现在用promise? 他解决了什么问题 ?
解决了回调地狱!!? 老生长谈? ? 那什么是回调地狱?
这个就是回调地狱? 一个回调函数套着另一个异步任务? 里面的回调函数还嵌套异步任务
代码不断地向前缩进? ?不便于阅读? 而且不便于异常处理? 这里需要提到为什么要使用promise了? ?因为他支持链式调用 并且解决了回调地狱的问题??
并且 之前异步编程必须在启动任务前准备好回调函数? ?但是promise可以启动异步任务之后? 返回promise对象之后 再给promise对象绑定回调函数? 甚至可以异步任务结束之后指定多个回调函数来处理结果? 比传统的异步编程方法指定回调函数的方式更加的灵活
.then方法可以指定成功和失败时的回调? 如果成功就调用第一个函数? 如果失败就调用第二个函数
并且可以把参数传到.then方法中的函数中
?
但是在我们的项目中? 我们不是这么用promise封装Ajax请求的? 一般是封装一个请求? 然后根据传入的对象不同 进行不同的请求? 下面是封装一个根据不同地址进行不同请求的函数
若我整理的文章能对诸位有些许帮助? 我将不胜荣幸