【说站】javascript中throw和next方法的比较
javascript中throw和next方法的比较
1、生成器有throw方法,该方法与next的效果相同。
2、唯一的区别是next方法传输的参数回到正常值。throw方法传输的参数是错误的对象。
并且throw将该迭代器状态设置为迭代结束。
实例
function* generatorFunc () { console.log('function start...') let res = yield 1 console.log('logger - 1', res) res = yield 2 console.log('logger - 2', res) res = yield 3 console.log('logger - 3', res) return 'function end...' } const generator = generatorFunc() generator.next() // 执行到 yield 1 语句停止 /** * print: 'function start...' * returns: { value: 1, done: false } */ // 若传递一个错误对象 generator.next(new Error('报错啦~')) // 执行到 yield 2 语句停止 /** * print: 'logger - 1' [错误对象('报错啦~')] * returns: { value: 2, done: false } */ generator.throw(new Error('报错啦~')) // 抛出错误,迭代结束 /** * print: [错误对象('报错啦~')] * returns: nothing... */ // 后续再调用 next() 返回 {value: undefined, done: true}
以上就是javascript中throw和next方法的比较,希望对大家有所帮助。更多Javascript学习指路:Javascript
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。