本篇内容主要讲解“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方法的对比以及实例用法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。