没有var的情况下清除setInterval

我正在使用node.js来读取一堆目录,因为这样的同步确实伤害了我来跟踪这一切。 我正在使用一个setInterval来跟踪和报告进度,但是在一个循环中,我不能给它一个variables名称没有某种疯狂的对象组织。 那么是否有可能只是在满足语句的时间间隔内清除间隔? setInterval(function(){ if(list.length==count){ clearInterval(self) } },50); 基本上“计数”是一个计数,我增加了我扫描目录和list.length是目录中的项目的实际数量。 因为循环将在扫描目录之前完成,所以我必须将这个保留在实际的循环之外。 我记得有一种方法来调用JavaScript中的被调用者,但即使有一点谷歌我似乎无法find如果可能的。 所以基本上我想要清除间隔,而不通过variables设置间隔。

如何使用streamparsing缓冲区中的行?

所以,我从STDIN中得到一个带有换行符的文件stream,但是这个stream提供了换行符的缓冲区消失。 我将如何处理/parsingStream方法? util.inherits(Parser,Transform); Parser.prototype._transform = function(data,encoding,done){ 的console.log(data.toString()); this.push(this._parseRow(数据)); ()完成; }; //将数据行parsing为一个对象 Parser.prototype._parseRow = function(row){ var result = row.toString()。split(“\ r”); var fields = result.toString()。split(“;”); var bank = {a:fields [0],b:fields [1] .trim()}; 返回bank.toString(); }; 但输出有随机的换行符。

在nodejs中调用dynamic函数

我是nodeJS的新手,现在我正在写一个连接到外部API的小型服务。 这个API有几种types的对象,每个对象有几种types的function。 我希望我的服务来查询这个api,但我想要的是,这个查询将被定义在它自己的json文件中,所以为了将来的使用,人们可以添加/删除/更改这些查询。 一个json文件的例子: { "object": "foo", "function": "bar", "params": { "x": "1", "y": "2" } } 对象是'foo','bar',而params会作为一个整体json对象传递,所以我并不在意这部分。 我如何创build对象'foo',然后调用函数'bar'?

从用户设置dynamic设置LESSvariables

这真是一个简单的事情来解释。 这是可能的或不是。 我有数据库中的用户设置,或至less有。 这些设置将包含字体大小,颜色和不透明度。 我需要从成员对象,并进入LESS样式。 在我继续之前,我应该让你知道我正在使用Node.js + Sails.js + MongoDB。 我的成员对象看起来类似于(截断数据): { _id: ObjectId("52afc219c41e159808d41be5"), createdAt: ISODate("2013-12-17T03:16:41.947Z"), email: "someemail@provider.com", encryptedPassword: "$2a$10$TJ2vMgRpG1y/pYrHPWyDp.pd9u9lgHqNTOSV5fob2yckIFdQsxQea", firstName: "Firstname", lastName: "Lastname", updatedAt: ISODate("2013-12-27T22:40:34.057Z"), textSize: 14, textColor: "#333333", widgetOpacity: 0.7 } 在LESS文件中,我需要能够使用这些数据在顶部设置@vars: @textSize: member.textSize; @textColor: member.textColor; @widgetOpacity: member.widgetOpacity; 要么 @textSize: <%- member.textSize %>; @textColor: <%- member.textColor %>; @widgetOpacity: <%- member.widgetOpacity %>; 当然这一切都会引发错误。 请指出我在这里做不到的事情。 […]

subprocess产生:未知系统错误740

如果我只执行这一行: require('child_process').spawn('C:\\Users\\me\\AppData\\Local\\Temp\\1131128-16232-bid56z__some_installer.exe').on('close', function (code) { }); 然后我得到一个例外: Error: spawn Unknown system errno 740 我不知所措 有人能帮我解释一下吗?

在节点的REPL中使用npm进行编程

我试图以编程方式使用npm模块来安装模块。 把下面的代码放到file.js中: var npm = require('npm'); npm.load({ save : true, loglevel : 'warn' }, function (err) { if (err) return callback(err); npm.commands.install(['async']); }); 工作得很好: $ node file.js async@0.2.9 node_modules/async [ [ 'async@0.2.9', 'node_modules/async', '', undefined, 'async@' ] ] 但是,在节点解释器中运行相同的代码会导致以下错误消息: $ node > var npm = require('npm'); undefined > npm.load({save : true,loglevel : 'warn'},function(err){if (err) return […]

节点js url.parse-href不返回完整的url

我在node.js中有以下非常简单的代码片断(在Windows 7下运行) var path = url.parse(req.url, true).pathname; var href = url.parse(req.url, true).href; console.log("path " + path + "\r\n"); console.log("href " + href + "\r\n"); 我用localhost:8080 / test调用监听器 我期望看到: path /test href /localhost:8080/test 相反,我得到 path /test href /test 为什么href不是完整的url?

JavaScript正则expression式:连续匹配

我正在用JavaScript编写一个词法扫描器。 有一个inputStr和正则[ regexp1, regexp2, … ]的列表[ regexp1, regexp2, … ] ,我需要连续匹配inputStr和regexps列表。 假设regexps[i]匹配inputStr的前5个字符,我将继续从第6个字符开始进行匹配。 我检查了JavaScript的RegExp API,我没有看到任何方式来控制匹配指定索引的string。 RegExp对象的lastIndex属性在这种情况下不起作用,因为如果lastIndex的字符不匹配,它将尝试从下一个字符匹配,但是我希望立即停止。

隐藏匿名用户的一些HTML块

如何隐藏访问我的应用程序的匿名用户的一些HTML块。 我不使用任何模板引擎。 我的后端是在node.js。 什么是实施这个最好的方法? if (loggedin) <div id="logged-in"> Some menus for Loggedin User </div> else <div id="anonymous"> Some menus for Anonymous user </div>

从Heroku Rails应用程序运行节点

我有一个rails应用程序,允许用户使用sandcastle (一个节点库)编写代码(有点像那些自学编码的代码)。 我有一个节点脚本,它做我想要的,但我怎么能触发它从我的Rails应用程序在Heroku上运行?