1、什么是promise
Promise是异步编程的一种解决方案,将网络请求和回调操作分离
2、什么情况下会用到Promise
一般情况下,有异步操作时,会使用Promise对这个异步操作进行封装
3、Promise的基本语法
//1、实用 timeout
/* setTimeout(() => {
console.info("hello,world!!!")
},2000);*/
// 参数 -> 函数
//resolve,reject 本身也是函数
//链式编程
new Promise((resolve,reject) => {
//类似于第一次网络请求的代码
setTimeout(() => {
resolve() //一旦调用了resolve(),就会跳转到 then
},2000)
}).then(() => {
//第一次网络请求后回调执行的代码
console.info("first request!!!")
console.info("first request!!!")
console.info("first request!!!")
console.info("first request!!!")
return new Promise((resolve,reject) => {
//类似于第二次网络请求的代码
setTimeout(() => {
resolve() //一旦调用了resolve(),就会跳转到 then
},2000)
}).then(() => {
//第二次网络请求后回调执行的代码
console.info("second request!!!")
console.info("second request!!!")
console.info("second request!!!")
console.info("second request!!!")
})
})
//什么情况下会用到promise
//一般情况下是有异步操作时,使用Promise对这个异步操作进行封装
//什么情况下会用到promise
//一般情况下是有异步操作时,使用Promise对这个异步操作进行封装
new Promise((resolve,reject) => {
setTimeout((data)=> {
//成功的时候调用resolve
//resolve(data)
//失败的时候调用reject
reject("error message")
},2000)
}).then((data) => {
}).catch(err => {
})