您的位置:首页 > 其它

promise的一些使用记录

2017-02-10 21:34 357 查看
1,使用场景为需要等待前两次请求回来的参数,才能进行下一次请求

<script>
function getJSON(url) {
return new Promise(function(resolve, reject) {
$.get(url, function(data) {
resolve(data);
})
})
}

function renderAll() {
//如果把all改为race,则只要一个resolve或者reject被触发就会调用then方法,只传过去一个参数,不合并别的response数据
return Promise.all([getJSON('http://106.14.144.79/element/cer.php'), getJSON('http://106.14.144.79/element/cer.php')]);
}
//当全部请求完毕之后才会调用then方法,value为数组,一个元素为一个response数据。
renderAll().then(function(value) {
console.log(value);
//这里获得了前两次请求的参数之后可以进行第三次的请求
})
</script>


2,让请求和响应逻辑处理分离

<script>
function getJSON(url) {
return new Promise(function(resolve, reject) {
$.get(url, function(data) {
if(true){
//触发then里的第一个function
resolve(data);
}else{
//触发then里的第二个function
reiect('err info')
}
})
})
}
getJSON('http://106.14.144.79/element/cer.php').then(function(response) {
console.log(response);
},function(err){
console.log(err);
})
</script>

详细讲解请参考:promise详细教程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: