js专家:-)!我可以完全使用Node.js在web项目(CRUD操作、算法、复杂的计算和优化、加载图片、交互式用户图形用户界面、csv和其他格式的内容导出、时间驱动的事件,如电子邮件新闻、安全方面等等)中实现复杂的业务层吗?
发布于 2012-06-03 18:14:50
你当然可以。为此,您可以使用任何编程语言。
发布于 2012-06-04 19:19:45
简而言之,答案是肯定的,对于其中的一些,Node.js会表现得非常好。
就我个人而言,我发现Node.js非常适合处理实时事件和多客户端/服务器通信。
当涉及到复杂的计算和业务逻辑时,Node.js可能会变得棘手。从本质上讲,它是异步运行的,这意味着一些你期望工作的东西,并不是这样。
var script = 0;
for (i=0;i<10;i++){
script = i
}
console.log(script);将返回0到9之间的某个数字,很可能是0。如果你不习惯它(有时即使你习惯了),它可能会引起无数的头疼。有一些方法可以让它以你所期望的方式工作,在最基本的级别上有回调。
var script = 0;
var somefunction = function(i, callback){
if(i < 10){
i++;
somefunction(i, callback);
}else{
callback(i);
}
}
somefunction(script, function(i){ console.log(i)}还有一些库可以帮助实现控制流,比如async.js。
然而,正因为如此,它可能会使实现复杂的计算和业务逻辑变得有点困难。在我参与的一些项目中,我们使用python、ruby或PHP处理业务逻辑方面的事情,使用node.js处理与客户端的实时通信。
https://stackoverflow.com/questions/10869395
复制相似问题