Nodejs for-loops并等到循环完成

我有以下代码: //Marks all users which are reading the book with the bookId var markAsReading = function (bookId,cb) { User.find({}, function (err,users) { if(err) cb(err); //Go through all users with lodash each function _(users).each(function (user) { //Go through all books _(user.books).each(function (book) { if(book.matchId === bookId) { user.isReading = true; //cb(); } }); }); //Need to […]

node-ffi:dynamic链接错误

我有一个C ++方法(哪个angular色正在杀死一些进程),在一个库Risk.dll中。 另一方面,我正在开发一个在Google Chrome上运行的networking应用程序(使用Nodejs和AngularJS)。 当我通过浏览器单击button时,我希望能够通过我的app.js文件调用C ++函数。 我决定使用Node-ffi,但是我有错误: Error: Dynamic Linking Error: "Risk.dll": 这是我在javascript上的代码: var ffi = require('ffi') //Kill Server socket.on('killserver', function(date){ var cTest = ffi.Library("Risk", { "DateModified":["long", ["string"] ] }); var res = cTest.DateModified(date); console.log(res) }); 在C ++中,我已经完成了 extern C{ } 而我想补充一点,我的文件Risk.dll与文件server.js在同一个文件中,当我想要使用我的应用程序时,我使用Node运行。 任何线索?

如何在nodejs中使用https.request

我使用github在我的节点应用程序中进行身份validation。 我已经构build了以下代码: var req = request(postOptions, function (res) { res.on('data', function (d) { … var getOptions = parseUrl('https://api.github.com/user?access_token=' + accessToken); … var req = request(getOptions, function (resp) { … resp.on('data', function (d) { … }) .on('end', function () { … }) }); req.end(); }); }); req.write(postData); req.end(); 我删除了一些代码,因为这里的重点是我有一个请求中的请求。 现在,nodejs已经推迟了问题是,如果这可以用来简化上面的代码?

没有find本地gulp安装

在参考这个问题,我已经运行sudo npm install gulp -g和npm install gulp –save-dev ,但不pipe我做了什么,我都一直运行到这个错误。 Gulp看起来并没有看到本地的node_modules / .bin / gulp,并不断抱怨上面提到的同样的错误: 在本地path中No local gulp install found in 。 我试过看权限,卸载,重新安装,尝试不同的版本,但没有运气。 有人有什么主意吗?

如何使用节点的kue哨兵?

我想将哨兵监控连接到我的kue应用程序。 应该怎么办? 我在文档中看到如何为简单的node.js做到这一点: var client = new raven.Client(…); client.captureError(new Error('Uh oh!!')); 但是我想expression一下风格: app.use(raven.middleware.express(…)); 所以哨兵会为我抓到错误,而不是手动调用client.captureError。 也许这很简单,我第一次使用kue,会很感激任何帮助。 谢谢。

节点JS设置页面抛出空白页面

我正在尝试使节点js服务器和客户端安装程序使用socket.io( Daniel Nill教程) 我在同一个目录server.js & socket.html有两个文件。 server.js var http = require("http"); var url = require('url'); var fs = require('fs'); var server = http.createServer(function(request, response){ console.log('Connection'); var path = url.parse(request.url).pathname; console.log(path); switch(path){ case '/': response.writeHead(200, {'Content-Type': 'text/html'}); response.write('hello world'); break; case '/socket.html': console.log("Path: " + __dirname + path); fs.readFile(__dirname + path, function(error, data){ if (error){ response.writeHead(404); […]

在passportjs响应之前的Expressjs / Change header

我正在尝试更改Nodejs中的WWW-Authenticate头中发送的头挑战。 使用passportjs,我目前的服务器代码如下: router.route('/login/') .get(function(req, res){ if(req.isAuthenticated()) res.redirect('/admin/'); else res.render('admin/partials/login.html'); }) .post(passport.authenticate('digest')); 我面临的问题是,摘要授权首先发送一个401代码响应(这是正常的方式),但大多数浏览器(webkit至less),启动一个提示popin要求用户进行身份validation,当他们发现这样的挑战(摘要或基本)在标题。 我读了一个解决scheme可以是更改标题,修改WWW-Authenticate:Digest为WWW-Authenticate:xDigest例如,但我没有find一种方法来执行它在Express中。 我认为中间件passport.authenticate必须设置标题,并且在响应发送到客户端(我认为是在相同的中间件)之前,我无法find改变它的方法。 感谢您的任何想法。

你将如何在Node.js中创build一个“私人testing”用户队列系统?

我们正在创build一个基于Node的新Web应用程序。 由于许多应用都是这样做的,我们希望限制注册用户的数量,所以我们可以顺利地进行testing和扩展。 所以,人们会注册(使用电子邮件地址),然后当一批用户被释放(手动或自动)时,该批次将收到一封允许他们注册的电子邮件。 我已经在用户端多次看到这个过程,但是从来没有涉及构buildtesting队列系统,所以我不确定从体系结构/代码的angular度来看待这个过程的最好方法。 一些具体问题可能是: 什么是从节点angular度注册stream程? 什么可能是底层的数据模型? 对于“时间释放”或批量版本的用户,pipe理或触发它的最佳方法是什么? 有节点模块可以帮助吗? 任何帮助赞赏。

如何在Node.js插件中返回JSON内容

我正在做一个Node.js扩展,我想返回一个json格式的对象,而不是一个json格式的string。 #include <node.h> #include <node_object_wrap.h> using namespace v8; void ListDevices(const FunctionCallbackInfo<Value>& args) { Isolate* isolate = Isolate::GetCurrent(); HandleScope scope(isolate); std::string json = "[\"test\", \"test2\"]"; args.GetReturnValue().Set(String::NewFromUtf8(isolate, json.c_str())); } void InitAll(Handle<Object> exports) { NODE_SET_METHOD(exports, "listDevices", ListDevices); } NODE_MODULE(addon, InitAll) 如何做呢 ? var addon = require("./ADDON"); var jsonvar = JSON.parse(addon.listDevices()); console.log(jsonvar); 实际上,在这个部分,我想删除JSON.parse 顺便说一句,是我吗,还是很难find文件? 我尝试了谷歌,但很多内容是过时的,在v8.h,有趣的function没有logging。 谢谢 ;)

('connect')错误的NodeJS事件

最近我开始用“Node.js in Action”一书来学习Node.js。 在这一章中有以下列表: var events = require('events'); var net = require('net'); var channel = new events.EventEmitter(); channel.clients = {}; channel.subsriptions = {}; channel.on('join', function (id, client) { this.clients[id] = client; this.subsriptions[id] = function (senderId, message) { if (id !== senderId) { this.clients[id].write(message); } }; this.on('broadcast', this.subsriptions[id]); }); var server = net.createServer(function (client) { var […]