本节知识点
- promise使用
(一) 概述
- 我们在开发的时候经常会碰到回调函数,要是嵌套层数太多了,很难维护。
所以在ES6中加入了promise对象。他就是一种承诺,当他成功的时候执行一些代码,失败的时候执行一些代码
promise的基本用法
- promise 执行多不操作非常好用。简单来说要想在家吃饭。要经过三个步骤
第一步:洗菜做饭。第二步坐下来吃饭。第三步收拾桌子洗碗
这个过程是有顺序的,你必须保证上一步完成才能顺利进行下一步。
下面我们用promise来实现
let state = 1;
function step1(success,error)
{
console.log("开始-洗菜做饭");
if(state==1)
{
success("洗菜做饭--完成");
}else
{
error("洗菜做饭出错误")
}
}
function step2(success,error)
{
console.log("2.开始--坐下吃饭");
if(state==1)
{
success("坐下来吃饭--完成");
}else
{
error("坐下来吃饭出错误")
}
}
function step3(success,error)
{
console.log("3.开始收拾桌子");
if(state==1)
{
success("收拾桌子完成--完成");
}else
{
error("收拾桌子出错误")
}
}
new Promise(step1).then(function(val){ /*value就是第一步无论是成功还是失败返回的数据*/
console.log(val);
return new Promise(step2);
}).then(function(val){
console.log(val);
return new Promise(step3);
}).then(function(val){
console.log(val);
return val;
})
简单来说
有几步就对应几个then ,then里面必须return 下一步。then就是上一步执行后的回调函数.
new Promise(step1).then().then().then()