在JS中throw和next方法使用的异同是什么
Admin 2022-05-26 群英技术资讯 631 次浏览
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}
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了微信小程序自定义底部弹出框动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家介绍了Vue插槽解决父子组件通信,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
utf8编码算法是什么样的,如何实现?小编这就来给大家分析分析下,对此感兴趣的话可以看看以下知识点,有需要的朋友一定不要错过了。
本篇文章带大家聊聊ES6,带你30分钟熟练使用最常用的ES6,还不学是等着被卷死?
这篇文章主要介绍了JavaScript字典与集合详解,集合是由一组无序且不重复的元素构成。我们可以将集合看成一种特殊的数组,它的特殊之处就是无序且不重复,这也就意味着我们不能通过下标的方式进行访问,而且集合中不会出现重复的元素
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008