美文网首页工作生活
ES6 Promise对象应用

ES6 Promise对象应用

作者: 萘小蒽 | 来源:发表于2019-07-08 15:06 被阅读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);
    

    相关文章

      网友评论

        本文标题:ES6 Promise对象应用

        本文链接:https://www.haomeiwen.com/subject/fhxhhctx.html