局部代码:模拟一个小登录的测试!
刚开始的时候忘记这NODE.JS异步问题了,怎么测都不行!
后来一顿回调啊~ OK了~! 这种方法代码的可读性很差,嵌套太多了。等等吧
等过几天再研究一下 ,解决这异步的问题!~
index.js
var um = require('./modules/user-manager');
exports.index = function(req, res){
res.render('index', { title: 'Test Login DEMO' });
um.findUserByEmail('tom@gmail.com', function(user) {
if (user == null) {
console.log('no user');
} else {
console.log(user.email);
um.getMd5Password('x', function(password) {
console.log('userpassword', user.password);
console.log('input password', password);
if (user.password != password) {
console.log('password error');
} else {
console.log('OK');
}
});
}
});
};
./modules/user-manager
var pg = require('pg');
var conString = "postgres://postgres:password@localhost/test";
var client = new pg.Client(conString);
client.connect();
var userManager = {};
userManager.findUserByEmail = function(email, callback) {
var query = client.query('SELECT * FROM person WHERE email = $1', [email]);
query.on('row', function(row, result) {
result.addRow(row);
});
query.on('end', function(result) {
if (result.rowCount == 0) {
callback(null);
} else {
callback(result.rows[0]);
}
});
}
userManager.getMd5Password = function(password, callback) {
var query = client.query('SELECT md5($1) as p', [password]);
query.on('row', function(row, result) {
callback(row.p);
});
}
module.exports = userManager;
分享到:
相关推荐
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了全栈开发的流行。本资源大全中文版汇集了众多高质量的 Node.js 包和资源,旨在帮助...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript编写应用程序,打破了JavaScript只能在浏览器环境中运行的传统。标题“node-v16.14.0-win-x64”指的是Node.js的特定版本...
Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了全栈开发的流行。标题提到的 "极易入门的Node.js MVC框架" 指的是 Node.js 中的一个...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,以其异步、非阻塞I/O模型和事件驱动的特性,成为构建高性能网络应用的首选平台。在本文中,我们将深入探讨如何利用 Node.js 开发一款名为「简聊」的团队...
在现代Web开发中,Node.js凭借其非阻塞I/O模型和JavaScript语言的便利性,已经成为后端开发的重要选择。为了提高开发效率和代码质量,开发者通常会采用ORM(对象关系映射)工具来处理数据库操作。然而,传统ORM如...
Node.js通常会与MongoDB、MySQL或PostgreSQL等数据库配合使用,以提供数据持久化存储。 4. **API设计** 对于缺勤管理,应用可能提供了RESTful API,让员工可以申请休假、管理员审批请求以及查询剩余假期等操作。...
在本项目中,“精选_基于Node.js的医药搜索平台网站设计与实现_源码打包”是一个涵盖Web开发技术的实践项目,主要利用Node.js作为后端服务器,HTML、CSS和JavaScript构建前端界面,旨在创建一个功能完备的医药信息...
再者,Node.js作为JavaScript的服务器端运行环境,可能用于搭建API服务器,或者处理实时通信。Express框架是Node.js中常用的选择,它简化了路由设置和中间件的使用。WebSocket可能被用于实现实时推送,例如当有新的...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,其特点是使用事件驱动、非阻塞 I/O 模型,这使得 Node.js 在处理数据密集型实时应用时表现得非常轻量和高效。Node.js 的这些特性非常适合用于开发响应...
Node.js 的异步非阻塞I/O模型使得 Sqlectron GUI 能够高效处理大量并发请求,从而提供流畅的用户体验。Node.js 的模块化设计也使得开发和维护变得更加简单,因为可以利用丰富的npm(Node.js包管理器)生态系统中的库...
Node.js,作为一个JavaScript运行环境,为这种同构开发提供了可能。而`React Starter Kit`就是基于Node.js和React构建的同构Web应用模板,旨在加速开发流程。 React是Facebook推出的用于构建用户界面的JavaScript库...
这个项目的核心组件包括TypeScript、GraphQL、URQL Apollo、Node.js、PostgreSQL、MikroORM/TypeORM、Redis、Next.js以及TypeGraphQL和Chakra UI。接下来,我们将深入讲解这些技术及其在这个项目中的作用。 1. **...
2. Node.js:Node.js是一个开放源代码、跨平台的JavaScript运行环境,用于在服务器端执行JavaScript代码。它以其非阻塞I/O和事件驱动的模型而著名,适合构建高性能的网络应用,如实时通信和高并发的Web服务。在这个...
Node.js是一个开放源代码、跨平台的JavaScript运行环境,它允许我们在服务器端运行JavaScript代码。在这个系统中,Node.js作为前端开发工具,开发者可以利用其强大的Express框架构建Web应用。Express简化了HTTP请求...
Sequelize是一个强大的ORM(对象关系映射)库,专为Node.js和TypeScript环境设计。ORM允许开发者使用面向对象的编程方式来操作数据库,而不是直接编写SQL语句,极大地提高了开发效率和代码的可读性。对于JavaScript...
在Web开发中,分页是一种常见的数据展示方式,它能够让用户在大量数据中有效地进行导航浏览。使用Node.js作为后端框架时,结合Bootstrap-...结合Node.js和MongoDB的后端实现,可以为用户提供流畅和友好的数据浏览体验。
在本课程"heroku-nodejs-course"中,...总之,这个课程旨在教会开发者如何将本地开发的Node.js应用无缝地部署到Heroku上,体验云端开发的便捷和高效。通过实践,你可以掌握在Heroku上运行和管理Node.js应用的全部流程。
Node.js是一个开放源代码、跨平台的JavaScript运行环境,它允许开发人员在服务器端运行JavaScript代码,从而打破了JavaScript仅能在浏览器中执行的传统限制。 ### 1. Node.js基础 Node.js的核心优势在于其非阻塞I/...
对于开发人员而言,Postgres.app支持常见的开发框架,如Ruby on Rails、Python的Django、Node.js的Sequelize等。这意味着开发者可以在Mac环境下无缝地进行开发工作,利用PostgreSQL的强大功能。 **备份与恢复** ...
Node.js可以与多种数据库进行连接,如MongoDB、MySQL、PostgreSQL等。在"node.js-blog"中,可能采用了Mongoose(针对MongoDB的ODM)或者Sequelize(针对SQL的ORM),来简化数据库操作。 ### 4. 用户认证与授权 ...