Tag: ecmascript 6

在Node.JS中使用ECMAScript 6

我确定这是一个简单的 – 但我正在学习Javascript和通过Node.js执行程序 function sumAll(arr) { var max = Math.max(…arr); console.log(max); } sumAll([1, 4]); 我有的错误是: SyntaxError:意外的标记… 我认为这是ES6传播运营商? 这是无效的吗? 我也尝试添加以下基于我发现的其他StackOverflow答案: "use strict"; 但是这也行不通。 任何帮助表示赞赏 – 谢谢

javascript:如何使用生成器作为类的方法

我的课堂看起来像这样: class Test { constructor() { } *test() { console.log('test'); let result = yield this.something(); return result; } something() { console.log('something'); return new Promise((resolve, reject) => { resolve(2); }); } } 但是,当我从Test创build一个对象,并调用test()方法,我没有得到预期的结果… let test = new Test(); console.log(test.test()); // {} 以为它会返回2 。 日志也不显示。 我在这里做错了什么?

标记继续声明; for循环

continue connloop; 抛出Syntax Error: Unsyntactic continue 。 如果我改变continue connloop; continue; ,它会运行(但是它不会在外部循环上执行,而是在内部循环上执行) 为什么会发生这种情况,是不是在nodejs / ecma6中被弃用或违法? 请不要推荐我使用函数调用而不是标签。 redisSubscriber.on("message", function(channel, event){ event = JSON.parse(event); const eventPayload = JSON.stringify(event.payload); connloop: for(let conn in connections){ conn = connections[conn]; redisClient.SMEMBERS('connection/'+conn.id+'/subscriptions', (err, subscriptions)=>{ let intersectedTags = []; if(event.address.tags.length > 0 && subscriptions.length > 0){ for(let tag in subscriptions){ tag = subscriptions[tag]; for(let […]

要求和导入显示不同的行为。 这是为什么?

我同时使用require和import但是从两者都得到了一些不同的行为。 到目前为止,我假设require和import只是ES5与ES6。 我正在做如下: abc.js console.log("abc"); xyz.js console.log("xyz"); hello.js require("./abc"); import "./xyz"; 第二次当我改变了文件,并交换了两条线。 hello.js import "./xyz"; require("./abc"); 两个时代都是同样的产出 xyz abc 即。 require输出总是在导入之后。 如果我只使用导入,或者只import ,那么就是按照预期的那样给予游戏机。 一个接一个地。 任何人都可以帮助理解这一点?

从内部callback中断父代函数的执行

我为Unity3D创build了一个nodejs服务器,使用socketio进行networking连接。 我有一个作为比赛室的function,当玩家离开游戏时,我想离开这个function。 玩家每创build一个新房间,都应该进入该function并重新开始。 是否有可能从一个子callback中断父执行的function? exports.initGame = function (userdata) { //do prematch stuff with userdata and execute game logic on the callbaks socket.on("something", function (someNetdata)({ // how do i stop parent function from here? }); // more socket.on callbacks } 编辑:忘了提及该function正在出口。 不知道这是否改变了一切。 编辑2:鉴于jfriend00答案中讨论的build议,我会给出一个更广泛的解释这个问题。 目前的stream量如下: 用户连接,我定义了一些“连接”callback函数。 相关的一个是startMatchMaker(Io, socket, data) 。 matchMaker为玩家创build一个空间(或者如果有空间的话join),然后继续执行前面提到的gameInit(io, socket, room, data) 。 gameInit(…)函数以空间为关键字将相关数据存储在全局数组中,例如Players[room] = […]

获取节点模块目录的path

我想获得一些驻留在NPM包中的文件。 目前我正在使用Vue和一个validation器,我想抓取一个本地化文件来做翻译。 我像通常那样导入validation器: import VeeValidate from 'vee-validate'; 这个软件包有一个dist目录,里面还包含locale目录。 这个目录有一些我想要的文件。 我可以创build一个到node_modules文件夹的path,然后再一路下去。 但是这看起来很潦草,容易出错。 有没有办法直接得到一个包的path,所以我可以导入我需要的文件?

这两个promises语法的区别

我在这两种答复方式之间相当困惑,有人能解释一下这个区别吗? 我试图find一些谷歌的行踪,但无法find完全匹配。 var a = Promise.resolve('foo'); return a.then(); VS return Promise.resolve('foo').then();

let和const循环一个集合有什么区别?

使用Node.js(ES6)循环访问集合中的每个对象,如下所示: var statuses = [{ statusId: 1, description: 'New' }, { statusId: 2, description: 'Pending' }, { statusId: 3, description: 'Approved' }, { statusId: 4, description: 'Inactive' } ]; 使用之间有什么区别: for (const status of statuses) { console.log(status.description); } 和 for (let status of statuses) { console.log(status.description); } 输出是相同的 – 有什么事情发生在我应该知道的引擎盖下?

React / Node / Express / Webpack – 必须返回一个有效的React元素(或null)

链接到源代码: https : //github.com/manster829/MernStackT 我不断收到错误消息:Uncaught错误:BugTable.render():必须返回有效的React元素(或null)。 您可能已经返回未定义的数组或其他无效的对象。 我不知道为什么,我认为这可能与ES6或我的语法有关,但我不明白。 有人有主意吗? 谢谢 :)

ReactJS包括或导入自定义或外部JavaScript文件

我有一个关于ReactJS的非常基本的问题,以及初学者和中级之间的差异。 我已经在webflow中devise了我的Web应用程序UI,现在正在ReactJS中开发前端应用程序。 所以,现在我有两个名为mordenizr.js和webflow.js的JS文件,我必须将它们导入到我的ReactJS组件和页面JSX文件中。 我想知道如何将外部或自定义JavaScript文件导入到ReactJS中,并且它们处于普通/模糊/缩小的JS,而不是ES6格式。 PS:我已经使用create-react-app创build了项目,所以无法更改或查看webpack&babelconfiguration 谢谢。 问候, 罗希特