ES6 Promise使用

Promise的方法

ES6 Promise使用_第1张图片

resolve 成功標志
reject 失敗標志

直接執行
new Promise((resolve, reject)=>{
     
    setTimeout(()=>{
     
        console.log("default data");
    },1000)
});
console.log("end");
放在方法中執行
function startAsync(){
     
    return new Promise((resolve, reject)=>{
     
        setTimeout(()=>{
     
            console.log("default data");
        },1000)
    });
}
startAsync();
console.log("end");
取得成功返回值
function startAsync1(){
     
    return new Promise((reslove, reject)=>{
     
        setTimeout(()=>{
     
            console.log("default data");
            reslove("sucess");  //成功標志

        },1000)
    });
}
startAsync1().then(data=>{
     
    console.log(data);
});
console.log("end");

輸出:
end
default data
sucess

取得失敗返回值
function startAsync2(){
     
    return new Promise((reslove, reject)=>{
     
        setTimeout(()=>{
     
            console.log("default data");
            reject("失敗標志");  //失敗標志
        },1000)
    });
}

startAsync2().then(data=>{
     
    console.log(data);
}).catch(reason=>{
     
    console.error(reason);
});
console.log("end");

輸出:
end
default data
失敗標志

根據不同的條件返回不同的數據
function startAsync3(count){
     
    return new Promise((reslove, reject)=>{
     
        setTimeout(()=>{
     
            console.log(`count: ${
       count}`);
            if(count>50){
     
                reject("下單失敗");  //失敗標志
            }else{
     
                reslove("下單成功");  //成功標志
            }
            console.log("default data");
        },1000)
    });
}

startAsync3(51).then(data=>{
     
    console.log(data);
}).catch(reason=>{
     
    console.error(reason);
});

console.log("end");
all方法

你可能感兴趣的:(ES6,es6/es7)