Tag: 编码风格的

如何正确处理Node.JS中的延迟操作?

我是ASYNC编程新手,请耐心等待。 我有一个Web服务API的调用,可能是不可预知的慢。 在前端,我可以用一个“加载”灯箱或东西来处理它。 但是,在后端,我有我的要求: var req = http.request( options, function(res) { res.on('data', function(chunk) { doStuff(); } ); res.on('end', function() { doMoreStuff(); // This can take a while to get to. return someInfo(); } ); } ); req.end(); 所有这些都在makeRequest模块中。 所以我应该将我的callback函数传递给makeRequest ,然后在'end'事件之后运行它? 看来这可能会导致一个很长的链接事件结构。 所以任何帮助如何构build这将不胜感激。 注意 :上面大多是伪代码,所以如果有语法错误,请理解它是伪代码

如果我们在任何对象的Node.js中扩展原型,会出现什么问题?

考虑下面的代码: var AryUser = new Array(); AryUser.prototype.HasUser = function() { if(this.length > 0) return true; else return false; } 我已经在我的Node.js项目中使用扩展的一些对象的原型。 我遇到了一篇文章 ,说这是不好的做法。 它是否会在执行这些function时在服务器上创build开销? 谁能告诉我是什么原因? (任何正式的文件转介将有很大的帮助)

在Node.js中声明variables的最佳方式

对每个var语句声明一个variables是否好,它使得代码更容易根据修改需要重新sorting程序中的行。 有人可以弄明白,在代码的执行方面,Node.js中的下面的声明风格有什么区别吗? //Style 1 var keys = ['foo', 'bar']; var values = [23, 42]; //Style 2 var keys = ['foo', 'bar'], values = [23, 42];

任何build立方便的callback写作风格的JavaScript?

callback在编码中越来越需要,特别是当你考虑Node.JS的非阻塞工作风格的时候。 但是很快写很多协程callback变得难以回读。 例如,想像这样的东西金字塔 : // This asynchronous coding style is really annoying. Anyone invented a better way yet? // Count, remove, re-count (verify) and log. col.count(quertFilter, function(err, countFiltered) { col.count(queryCached, function(err, countCached) { col.remove(query, function(err) { col.count(queryAll, function(err, countTotal) { util.log(util.format('MongoDB cleanup: %d filtered and %d cached records removed. %d last-minute records left.', countFiltered, countCached, […]

检测长度过长(> 100行)的function?

有什么办法来检测我的节点应用程序中超过100行的function? 即时通讯使用JSHint,但它没有任何选项来检测它。

困惑于有多less种方式设置NODE_ENV

我试图设置一个标志,通知我的代码是否在生产或开发。 到目前为止,我已经看到: 在VS Code的launch.json : { "configurations": { "env": "NODE_ENV": "development" } } 在Node的package.json : { "scripts": { "start": "NODE_ENV=production" } } 在Webpack的webpack.config.js : module.exports = { "plugins": new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"production"' }) } 运行代码时: set NODE_ENV=production && node app NPM包: https://www.npmjs.com/package/envify 电源shell: $env:NODE_ENV="production" 我想我只是困惑,因为默认情况下,我有大约4目前设置。 这些如何相互作用? 他们都指的是相同的variables? 我应该只有其中之一吗? 哪些覆盖别人? 我真的更喜欢,如果只有一个点来设置,因为它似乎每个单一的模块可以让你指定它,结果,我很困惑,实际上是在哪里设置。 另外,有没有在客户端访问这个标志呢,还是只在服务器端?

在NodeJS中需要几个模块的最佳方法

我不太喜欢需要模块的标准方式,这是这样的: connect = require 'connect' express = require 'express' redis = require 'redis' sys = require 'sys' coffee = require 'coffee-script' fs = require 'fs' 这不完全是干的。 在一个适中的CoffeeScript服务器中,require舞需要占用整个脚本的一小部分! 我一直在玩弄以下select: "connect,express,redis,sys,coffee-script,fs" .split(',').forEach (lib) -> global[lib] = require lib 既然我还没有看到有人试图重构标准方法,我想我会问这样做是否合理,如果是的话,有没有更好的方法来做到这一点?