"承诺"
同步:代码较为简单但是性能较差
异步:代码复杂但是性能较优
promis
致力于解决了使用同步的写法完成了异步操作,使得代码简单性能优
基础
原生
<script>
function createPromis(url) {
return new Promise(function (resolve, reject) {
//resolve:成功
//reject:失败·
$.ajax({
url,
dataType: 'json',
success(arr) {
resolve(arr);
},
error(err) {
reject(err);
}
})
});
}
Promise.all([
createPromis('jjj.txt'),
createPromis('hello.txt')
]).then(function(arr){
let [res1,res2] = arr;
alert("全都成功了");
alert(res1);
alert(res2);
},function(err){
alert("全都失败了"+err);
});
jquery
Promise.all([
$.ajax({
url: '',
}),$.ajax({
url: '',
}),$.ajax({
url: '',
}),
...
]).then(function(arr){
let [res1,res2] = arr;
alert("全都成功了");
alert(res1);
alert(res2);
},function(err){
alert("全都失败了"+err);
});
其他方法
-
Promis.race
“竞速”,和all方法基本一样,但是就是看谁访问的快,就优先访问谁
网友评论