Promise 用法
2018-09-28 本文已影响0人
Romyo
写法1:
Promise.then(
function(success){}, //成功了
function(error){} //失败了
)
写法2:
Promise
.then(success=>{成功了})
.catch(error=>{失败了});
Promise.all([异步请求1,异步请求2])
.then(success=>{成功了})
.catch(error=>{失败了});
<script src='./jquery-1.11.0.min.js'></script>
<script>
/**
* 封装的函数,返回一个Promise对象
*/
function createPromise(url){
return new Promise(function(resolve,reject){
$.ajax({
url,
success(data){
resolve(data);
},
error(err){
reject(err);
}
})
})
}
let promiseObj1=createPromise('./data.json');
let promiseObj2=createPromise('./data2.json');
//写法一
Promise.all([promiseObj1,promiseObj2]).then(
(arr)=>{
console.log(arr);
},
(err)=>{
console.log(err)
}
);
//写法二
Promise.all([promiseObj1,promiseObj2]).then(data=>{
console.log(data);
}).catch(err=>{
console.log(err);
})
//jquery自带返回promise属性
Promise.all([
$.ajax('./data.json'),
$.ajax('./data2.json')
]).then(res=>{
console.log(res);
}).catch(err=>{
console.log(err);
})
</script>