【JavaScript中的迭代器和生成器详解】教程文章相关的互联网学习教程文章

我可以在Firefox Web工作者中使用Javascript 1.7迭代器和生成器吗?【代码】

或者我如何告诉Firefox使用mimetype application / javascript; version = 1.7解析web worker扩展? Firefox 4 Beta 9中的Firebug 1.7a9给出:missing ; before statement [Break On This Error] yield k;当它无法识别常规脚本标记中的generator yield关键字时,它就是这么说的.解决方法:您需要使用该HTTP标头提供文件.你在运行什么服务器?

如何在javascript中的迭代器生成器中实现递归遍历?【代码】

假设我在javascript中有一棵树,如下所示:let rootNode = {name:'', children:[{name:'0', children:[{name:'00', children:[]},{name:'01', children:[{name:'010', children:[]},]},{name:'02', children:[]},]},{name:'1', children:[{name:'10', children:[]},]},]};我想对它进行前序遍历,我可以这样做:function preOrderTraversalRecursive(rootNode, visitNodeCallback) {function recurse(node) {visitNodeCallback(node);...

javascript – 如何将流转换为生成器而不从promise中泄露解析【代码】

我有一个流,我需要将其转换为生成器,因此上传器可以使用通用生成器. 这意味着转向:stream.on('data', chunk => ...);至:generator = streamGenerator(stream); chunk = await generator.next() ...更好的是:chunk = yield streamGenerator;总的来说,我最好的尝试需要从承诺中泄露决心,我想避免这样做:function streamToIterable(chunkSize, stream) {let collector = [];let value = [];let done = false;let _resolve;let pro...

Javascript随机数生成器到隐藏字段【代码】

我有一个创建随机数的脚本:<script> now = new Date(); randomNum = ''; randomNum += Math.round(Math.random()*9); randomNum += Math.round(Math.random()*9); randomNum += now.getTime();var elem = document.getElementById("ID_UNIQUE"); elem.value = randomNum; </script>我正在尝试将“ID_UNIQUE”传递给隐藏的表单字段:<form method="POST" action="action.php" name="form" onSubmit="return checkFields();"> <inpu...

如何循环来自生成器的JavaScript迭代器?【代码】

我们假设我们有以下生成器:var gen = function* () {for (var i = 0; i < 10; i++ ) {yield i;} };循环遍历迭代器的最有效方法是什么?目前,如果done属性设置为true,我会手动检查:var item, iterator = gen();while (item = iterator.next(), !item.done) {console.log( item.value ); }解决方法:迭代任何iterable(一个支持@@ iterator的对象)的最佳方法是使用for..of,就像这样'use strict';function * gen() {for (var i = 0; i...

如何从JavaScript中的递归生成器函数返回?【代码】

我正在玩一个递归生成器函数,它以异步方式返回值.我正在使用协程包装函数来调用它.代码和JSBin如下: http://jsbin.com/nuyovay/edit?js,consolelet log = console.log.bind(console); let err = console.error.bind(console);function coroutine(generatorFn){return function co() {let generator = generatorFn.apply(this, arguments);function handle(result) {console.log(result);if (result.done) {return Promise.resolve...

javascript – ES6产生多个生成器【代码】

在ES6中,产量和发电机功能允许等待一旦功能执行.但我想等待多个发电机.这里的代码:files.forEach(function* (file) {const uploadedFile = yield call([service, service.upload], file, config) }呼叫是redux-saga效果To express the Saga logic we yield plain JavaScript Objects from the Generator. We call those Objects Effects我想一次性触发所有上传,无需等待上一次完成并等待所有文件上传后,是否可以获得收益?解决方法...

如何在JavaScript(ES6)中测试基于生成器的流控制?【代码】

如何让Mocha等到异步函数完成? 模var fs = require('mz/fs'); var co = require('co');module.exports = new filecache();function filecache () {var self = this;var storage = storage || {};self.cache = co(function* (filePath, fileName) {if (yield fs.exists(filePath)) {storage[fileName] = yield fs.readFile(filePath);}});self.has = function has (fileName) {return storage.hasOwnProperty(fileName);}; }测试(摩...

javascript – 使用angular-fullstack生成器时,在后端访问env变量的最佳方法是什么?【代码】

我正在使用Yeoman的angular-fullstack发电机. 我已经更新了我的server / config / environment / local.env.js文件:module.exports = {DOMAIN: 'http://localhost:9000',SESSION_SECRET: 'vfsite2-secret',SENDGRID : {API_KEY : 'my_api_key'},DEBUG: '' };我最好的方法是如何在我的服务器文件上使用SENDGRID.API_KEY,例如在我的服务器/ api / thing / thing.controller.js上? 请注意,这不是this similar question的重复问题,因...

JavaScript(ES6): yield的迭代器(Iterator)和生成器(Generator)【代码】

迭代器(Iterator)和生成器(Generator) 前言 最早知道迭代器是在学java的时候,那时候遍历map只能使用迭代器。具体怎么使用我现在忘得差不多了。其他语言应该大部分都有迭代器,甚至SQL也有cursor(游标)。 存在即有意义。 没有迭代器的日子 循环语句迭代数据的时候,需要初始化一个对象来临时记录这个值。 let array = [1,2,3]; for(let i = 0; i < array.length ; i++){var result = array[i]; }如上述result既记录迭代过程中的...

JAVASCRIPT - 技术教程分类
JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语... JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript 代码规范 JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包 DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象 JavaScript 对象 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象 JavaScript Window JavaScript Window Location JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie JavaScript 库 JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结 JavaScript 对象 HTML DOM 对象 JavaScript 异步编程 javascript 全部