• 技术文章 >Web开发 >JavaScript

    javascript中throw和next方法的比较

    小妮浅浅小妮浅浅2021-09-01 11:59:35原创154

    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方法的比较,希望对大家有所帮助。更多Python学习指路:python基础教程

    专题推荐:javascript throw next
    品易云
    上一篇:javascript数组检查是否存在给定元素 下一篇:javascript中的3个组成部分

    相关文章推荐

    • javascript中async/await是什么• javascript同步回调如何理解• javascript异步回调是什么• javascript数组如何判断是否存在指定值• javascript如何展开多维数组• javascript上下文中栈的理解• javascript上下文的创建阶段• javascript中迭代如何理解• javascript迭代器模式是什么• JavaScript中时间戳运算的方法• javascript中for...of循环的原理• javascript中for...of循环是什么• javascript中generator函数的介绍• javascript生成器函数的特点• javascript中yield关键字的使用• javascript数组中findIndex()的使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网