javascript中throw和next方法的对比以及实例用法

本篇内容主要讲解“javascript中throw和next方法的对比以及实例用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript中throw和next方法的对比以及实例用法”吧!

创新互联建站是一家专业提供岭东企业网站建设,专注与成都网站设计、网站制作、成都h5网站建设、小程序制作等业务。10年已为岭东众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

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中throw和next方法的对比以及实例用法
文章起源:http://scyanting.com/article/ihhihj.html