簡單一點(diǎn)的理解:一改之前多個(gè)異步時(shí)需要采用層層回調(diào)函數(shù)的方法,可以使用鏈?zhǔn)秸{(diào)用來進(jìn)行操作捏卓。
我們可以通過console.dir(Promise)來直接打印出來這個(gè)對象來看看极祸。
這么一看就明白了,Promise是一個(gè)構(gòu)造函數(shù),自己身上有all遥金、reject浴捆、resolve這幾個(gè)眼熟的方法,原型上有then稿械、catch等同樣很眼熟的方法选泻。這么說用Promise new出來的對象肯定就有then、catch方法嘍美莫,沒錯(cuò)滔金。
下面是一個(gè)簡單的用法:
var promise = new Promise(function func(resolve, reject){
// do somthing, maybe async
if (success){
return resolve(data);
} else {
return reject(data);
}
});
promise.then(function(data){
// do something... e.g
console.log(data);
}, function(err){
// deal the err.
})