您现在的位置是:课程教程文章
javascript中throw和next方法的比较
2023-12-13 23:23课程教程文章 人已围观
1、生成器有throw方法,该方法与next的效果相同。
2、唯一的区别是next方法传输的参数回到正常值。throw方法传输的参数是错误的对象。
并且throw将该迭代器状态设置为迭代结束。
实例
function*generatorFunc(){ console.log('functionstart...') letres=yield1 console.log('logger-1',res) res=yield2 console.log('logger-2',res) res=yield3 console.log('logger-3',res) return'functionend...' } constgenerator=generatorFunc() generator.next()//执行到yield1语句停止 /** *print:'functionstart...' *returns:{value:1,done:false} */ //若传递一个错误对象 generator.next(newError('报错啦~'))//执行到yield2语句停止 /** *print:'logger-1'[错误对象('报错啦~')] *returns:{value:2,done:false} */ generator.throw(newError('报错啦~'))//抛出错误,迭代结束 /** *print:[错误对象('报错啦~')] *returns:nothing... */ //后续再调用next()返回{value:undefined,done:true}
以上就是javascript中throw和next方法的比较,希望对大家有所帮助。更多Javascript学习指路:Javascript
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
课程教程:javascript中throw和next方法的比较下一篇:没有了