ES6 Promise对象应用
2019-07-08 本文已影响0人
萘小蒽
1. 加载图片
我们可以将加载图片写成一个Promise,一旦加载完成,Promise的状态就发生变化。
const perloadImage = function(path){
return new Promise((resolve,reject)=>{
var img = new Image();
img.onload = resolve;
img.onerror = reject;
img.src = path;
});
};
上面
perloadImage
返回的将是event
对象。
2. Promise与Generator函数结合
function getFoo(){
return new Promise((resolve,reject) => {resolve('foo')})
}
var g = function*(){
try{
var foo = yield getFoo();
console.log(foo);
}catch(e){
console.log(e)
}
};
function run(generator){
var it = generator();
function go(result){
if(result.done) return result.value;
return result.value.then(function(value){
return go(it.next(value));
},function(error){
return go(it.throw(error));
})
}
go(it.next());
}
run(g);