IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    关于async里面try/catch的一个问题

    5196666qwe发表于 2017-06-05 09:11:01
    love 0
    function foo(){ throw new Error('zjl')}
    function*fn(){
    	try{
    		yield foo();
    	}catch(e){
    		console.log(e)
    	}
    }
    

    上面会被caty/catch ,而下面这个Promise就不会被try/catch

    function * fn(){
      yield Promise.reject('ixl')
    }
    //执行next后,会报错.
    function *fn(){
      try{
         yield Promise.reject('ixl')
      }catch(e){
        console.log(e)
      }
    }
    //也会报错
    

    而async里面,我看了下对await进行try/catch 可以避免 处于rejected状态的promise跳出async函数 怎么做到的?



沪ICP备19023445号-2号
友情链接