promise是什么?
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请求的封装
但是在我们的项目中 我们不是这么用promise封装Ajax请求的 一般是封装一个请求 然后根据传入的对象不同 进行不同的请求 下面是封装一个根据不同地址进行不同请求的函数
若我整理的文章能对诸位有些许帮助 我将不胜荣幸