在 NodeJS 或 Javascript 中完成例程
Finish the routine in NodeJS or Javascript
我是一名PHP程序员,我开始使用NodeJS进行开发,以优化我的Web应用程序并减少服务器资源。
我不是Javascript的专家,因此,我对语法和代码有几个疑问。
我开发了以下代码:
var redis = require("redis"), client = redis.createClient();
client.on("error", function (err) {
logger.error("Couldn´t connect Redis");
});
client.on("connect", function() {
client.get("user:ID", function (err, reply) {
if(reply) {
// CODE
}
});
});
我希望在没有键的情况下继续执行代码,我认为放置各种 IF 不是最优化的方式。
例:
client.on("connect", function() {
client.get("user:ID", function (err, reply) {
if(reply) {
// ROUTINE
}
});
});
或
client.on("connect", function() {
client.get("user:ID", function (err, reply) {});
});
if (key) {
// Code 1
}
// Code
if (key) {
// Code 2
}
............
类似于php DIE的东西来完成例程吗?如何开发和优化它?谢谢。
问候
我假设,你想避免嵌套回调。
看看如何避免异步函数在 Node 中长时间嵌套.js
我建议以下主题来更好地了解javascript的异步性质。
- setTimeout 和 setInterval
- 异步 ajax
- process.nextTick()
- 回调函数
注意:Node 中没有函数.js比如 die()。如果你想做调试,你可以使用 process.exit()。但是此功能会终止您的 Web 服务器。还有一种方法,您可以抛出自定义错误并捕获它。通过这样做,您可以进一步阻止服务器进程为当前请求提供服务。
相关文章:
- 多个JavaScript子例程的实时DOM显示
- 支持 JavaScript 的检查例程适用于 Chrome/Opera/IE,但不适用于 Firefox/Safari
- 更合乎逻辑的设置超时例程
- 当访问文件时,我可以自动调用例程或函数吗
- 访问Chrome'的内部gzip例程
- Django:如何将模板变量传递给JavaScript OnClick例程
- 使用“;调解员”;作为侦听块例程中的汇点
- 看不到如何将洪水填充例程更改为 DFS 例程
- 一个按钮上的多操作与javascript例程
- 我将如何使用闭包在 C# 中重写此 JavaScript 例程
- 鼠标左键单击与 JavaScript 中的右键单击例程冲突
- Javascript 模态窗口例程每次单击都会执行更多时间
- DOM 何时在 Javascript 例程中重新绘制
- php:例程javascript浏览器直到最后才出现
- BST中的节点计数实现了伪经典的countNodes实现,没有通过Javascript的内部子例程
- ActiveX多线程调用javascript回调例程出现问题
- Javascript中带/不带子例程的简单递归
- Javascript动画例程
- 如何在多个文本字段更改上使用相同的JavaScript例程
- JavaScript 调用带有参数的 VBA 例程