首页 > 代码库 > pomise的简单用法
pomise的简单用法
1、then的基本简单用法,当异步获取完数据后就会自动执行then的方法
function runAsync1(){ var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log(‘执行完成‘); resolve(‘随便什么数据‘); }, 3000); }); return p; } renAsync1().then(function(data){ console.log(data);//随便什么数据 })
2、then的链式基本用法,一个一个触发
runAsync1().then(function(data){ console.log(data);//随便什么数据1 return runAsync2(); }).then(function(data){ console.log(data);//随便什么数据2 })
3、提供两种数据传递方式resolve(),和reject()(注意两者一次只能触发其一)
function getNumber(){ var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ var num = Math.ceil(Math.random()*10); //生成1-10的随机数 if(num<=5){ resolve(num); } else{ reject(‘数字太大了‘); } }, 2000); }); return p; } getNumber() .then( function(data){ console.log(‘resolved‘); console.log(data); }, function(reason, data){ console.log(‘rejected‘); console.log(reason); } );
4、当发生错误时触发的catch
getNumber() .then(function(data){ console.log(‘resolved‘); console.log(data); console.log(somedata); //此处的somedata未定义 }) .catch(function(reason){ console.log(‘rejected‘); console.log(reason); });
5、全部同时执行的all(全部执行完成才输出数据,且数据也是数组格式)
Promise .all([runAsync1(), runAsync2(), runAsync3()]) .then(function(results){ console.log(results); });
6、谁快先执行谁的race
Promise .race([runAsync1(), runAsync2(), runAsync3()]) .then(function(results){ console.log(results); });
pomise的简单用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。