promise的一些使用记录
2017-02-10 21:34
357 查看
1,使用场景为需要等待前两次请求回来的参数,才能进行下一次请求
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详细教程
<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详细教程
相关文章推荐
- Android 高德地图显示只有Logo没有地图解决方案
- 1065. 单身狗(25)
- HTML DOM 探索
- Linux网络配置
- TODO:Google Analytics简单使用
- C++工程师面试宝典系列之C/C++经典面试题
- Android开发中相见恨晚的方法、类或接口
- python 实现微信自动回复(自动聊天)
- 1064. 朋友数(20)
- 蓝牙门禁系统
- 一半的寿司店标错标签 揭秘寿司的真实成本
- TODO:你的健康你做主吗
- servlet中webApp排错步骤建议
- Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
- 1063. 计算谱半径(20)
- 怎么在网页或其他应用中打开你的app
- 正斜线和反斜线
- TODO:Windows10的使用感想及兼容Linux
- “玲珑杯”ACM比赛 Round #9 A -- Check-in Problem [因子个数]【数论】
- 1062. 最简分数(20)