使用Caolan的asynchronous模块返回一个值

我想知道是否有可能进行一系列计算,并使用async.each方法获取返回的值。 一个非常简单的例子就是计算数组中所有元素的总和。 function Calculator() { } Calculator.prototype.sum = function(elements, callback) { var total = 0; async.each(elements, function(element, callback) { total += element; callback(); }, function(err) { if (err) throw err; //How can I get total as a returned value of sum? }); } 谢谢

JS编译器同时编写前端和后端代码

我想编写前端和后端之间高度互动的项目。 目前,我正在使用Node.js作为后端,Google Closure作为前端和自己的Swagger类库来发布和使用基于模式的JSON服务。 我不喜欢这种方法,因为这些项目的变化是非本地的,需要大量的testing。 是否有一个JS的变体(或者,可能是一些语言翻译成JS)翻译一个来源(可能有一些@server/@client注释)既前端和后端代码?

伪造:encryption大文件

我使用伪造框架来实现某种PGP。 所以我需要encryption非常大的文件(2GB或更多),并保持encryption。 我想用尽可能小的RAM内存。 什么是最好的办法呢?

CSV到JSON转换错误

我使用csvtojson转换器以json格式转换。 var csvFileName = path; //path== filepath var csvConverter = new Converter(); csvConverter.on("end_parsed", function (jsonObj) { console.log('in json object', jsonObj); }); csvConverter.from(csvFileName); csvtojson转换器以这种格式转换。 { csvRows: [ { { 'id\tname\talias\tdescription\timages\tprice\tcompare_price\tcollections\tbrand\tquantity\tsku\tbarcode\tcategories\tpublish\tvariants\tstate\tavg_rating\tnum_reviews\tweight\tfree_product\toption_set': '525ba1b3f96404a56a000006\tbraclet12\tbraclet12\tundefined\t\t100\tundefined\tundefined\tundefined\tundefined\tundefined\tundefined\tundefined\t\t\t\t\t\t\t\t' }]; 但我想用这种格式 – { csvRows: [ { id: '51f21e7c60c058bc54000001', name: 'dummy product', alias: 'dummy-product1111111111', description: 'Lorem Ipsumuuu', images: '', price: '55', compare_price: 'undefined', collections: 'undefined', […]

无法使用node-xmpp客户端连接到GCM

我正在尝试使用node-xmpp运行gcm服务器,但是xmpp客户端似乎根本没有打开,并在超时后closures。 var xmpp = require('node-xmpp-client'); var options = { type: 'client', jid: 'fake-project-123@gcm.googleapis.com', password: 'ApiKeyHere', port: 5235, host: 'gcm.googleapis.com', legacySSL: true, preferredSaslMechanism : 'PLAIN' }; console.log("Creating XMPP Application"); var cl = new xmpp.Client(options); cl.on('online', function() { console.log("XMPP Online"); }); 其余的代码被省略了。 在控制台中,我永远不会看到“XMPP在线”。 如何检查xmpp是否连接,以及无法打开?

Mongoose子文档插入到另一个集合中,同时在父模式中保持关系

我正在尝试做下面的事情,想知道是否可以用Mongoose: 保留一个子文档Id的数组,以方便使用mongoose的填充方法。 将子文档数据存储在另一个集合中 例: var ParentSchema = new Schema({ children : [{ type: Schema.ObjectId, ref: 'Child' }] }); mongoose.model('Parent', ParentSchema); var ChildSchema = new Schema({ name : { type: String} }); mongoose.model('Child', ChildSchema); 这就是我想让我的数据库看起来像: Parents { children:[{ObjectId("52856528cb28bdc18acac23a")},{ObjectId("52856528cb28bdc18acac23b")}] } Childs [{ _id: ObjectId("52856528cb28bdc18acac23a") name: "John" }, { _id: ObjectId("52856528cb28bdc18acac23b"), name: "bob" }] 我想轻松地通过执行以下操作来调用填充: Parents.find({}).populate(Parents.children).exec(); 填充方法是否能够以这种方式连接一组数据? 此外,我将如何将Id的集合存储在父模式中,并将子文档存储在子模式中(并且可以稍后使用填充方法执行此操作)? […]

在Google云端硬盘上安装Node.js(或使用Google云端硬盘运行您的networking应用程序)

我想知道是否有可能或者试图在Google云端硬盘上安装Node.js或从Google Drive运行多人networking应用程序? Google云端硬盘可以用作Web服务器来托pipe您的网站。 可悲的是,我只是一个雄心勃勃的,有动力的编码noob,然而,我的研究没有得到这个问题的答案。 也许我没有正确地看待事情,这是否会用Google Drive API来完成? 先谢谢你。

在Express或Connect中添加一堆属性以请求是不好的做法?

例如,假设您使用winston进行日志logging,而不是让每个中间件都需要日志logging器,则可能有一个(上游)中间件将其添加到request对象中,以便其他中间件可以执行: request.logger.log(…) 这是好还是不好的做法?

WebRTCvideo聊天

我正在尝试与webrtc和RTCPeerConnection APIbuild立一对一的video聊天。 我的代码的一个问题是,在初始用户连接到服务器后,当其他用户通过socket.io发送消息时,它不会从服务器接收消息。 客户端只收到自己发出的消息。 这是我的一些代码。 完整的项目在Github上: https : //github.com/rashadrussell/webrtc_experiment 客户端 var isInitiator = false; socket.on('initiatorFound', function(data) { isInitiator = data.setInitiator; console.log("Is Initiator? " + isInitiator); }); navigator.getMedia = ( navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia ); navigator.getMedia( {video: true, audio: false}, function(stream) { var video = document.getElementById("localView"); video.src = window.URL.createObjectURL(stream); console.log("Add Stream"); sendMessage('streamAdd', {streamAdded: […]

帆0.10和多对多关联 – 获取所有相关的数据,而不是第一个

我有2个模型与多对多关联。 我的代码关联这两个模型运行良好(它创build一个新的集合item_languages__language_items与相应的文件里面)。 但是,我无法获得特定项目的所有相关数据(语言)。 我正在使用MongoDB。 // Item.js module.exports = { schema: true, autoPK: false, attributes: { uuid: { type: 'string', primaryKey: true, unique: true, required: true, uuidv4: true }, languages: { collection: 'language', via: 'items', dominant: true } } } // Language.js module.exports = { schema: true, autoPK: false, attributes: { code: { type: 'string', primaryKey: […]