nodejs学习之events的使用

实用events做个小例子:

  

var mysql = require("mysql");
var Event = require("events").EventEmitter;

var user = "lubingjie";
var pass = "123456";

var db = mysql.createConnection({host:"localhost",user:"root",password:"",database:"test"});//链接数据库
var ev = new Event();//实例化events

ev.on("error",function(err){//添加监听err的事件  统一的错误处理函数
    console.log("数据库出错了!");
});

function query(sql,fn){//执行函数
    db.query(sql,function(err,data){
        if(err)
            ev.emit("err",err);//执行监听的事件
        else{
            fn(data);
        }
    });
}

query("select * from user where username=‘"+user+"‘ and pass=‘"+pass+"‘",function(data){
    if(data.length==0){
        query("insert into user values(‘"+user+"‘,‘"+pass+"‘)",function(data){
            console.log("完成!");
        });
    }else{
        console.log("用户名已经存在!");
    }
});
时间: 2024-10-12 12:51:51

nodejs学习之events的使用的相关文章

nodejs学习之events

在node里许多对象都发出事件:一个net.Server对象每次一个连接到来,都发出一个事件,一个fs.readStream对象在文件打开时放出一个事件.所有能放出事件的对象都是event.EventEmitter对象的实例.你可以这样做来访问这个模块:requre('events'); 代表性的事件命名都是一个驼峰标识的字符串,然而这并不是一个强制约束,任何字符串都可以被接受. 函数可以被附加在对象上,并且当一个事件发出时被执行.这样的函数叫做监听函数. Class:events.EventE

Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)

目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次更新已经比较久了^_^! formidable简介 nodejs原生实现上传还是比较麻烦,有兴趣的自已去参考一下网上有网友写的代码 这里选择了formidable,也是githu

nodejs学习资料

NodeJS基础 什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. 每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS

[Todo] Nodejs学习及Spider实验(包括php入门学习、React入门学习)

/Users/baidu/Documents/Data/Interview/Web-Server开发 深入浅出Node.js-f46c http://blog.csdn.net/u012273376/article/details/52736906 利用nodejs做爬虫 http://www.runoob.com/nodejs/nodejs-callback.html nodejs学习之路 http://www.runoob.com/php/php-tutorial.html php学习之路

NodeJS学习之2:express版的Hello World

接着 NodeJS学习之1:express安装 的结果: 我们继续应用程序的编写. 新建一个 app.js 文件 $ touch app.js copy 进去这些代码 // 这句的意思就是引入 `express` 模块,并将它赋予 `express` 这个变量等待使用. var express = require('express'); // 调用 express 实例,它是一个函数,不带参数调用时,会返回一个 express 实例,将这个变量赋予 app 变量. var app = expre

nodeJs学习

nodejsStudy 阅读<nodejs开发指南>来学习node.js的一个github仓库. 仓库里面放了这本书的电子版以及书籍的源代码 还放了node.js的最新win32的版本 node-v0.10.29 x86.msi 最后就是studyCase文件夹,存放着自己阅读书籍然后敲下来的学习案例 nodeJs学习,布布扣,bubuko.com

nodejs学习四 Node.js NPM

什么是NPM? 不知道大家注意没有,windows平台下的Node.js安装包大小才区区4M多,真可以用短小精悍来形容它,作为一种编程语言,像java一个SDK 就几十M,为什么node.js的运行环境这么小呢?这其中的微妙之处在于,它拥有一个庞大的第三方软件库. 在Node本身提供的包(原生)中没有我们要实现的功能模块的时候,我们可以去寻找下是否已经有人实现了这种功能.毕竟重复造轮子这种事情,很多人都不想干. 去哪里寻找我们想要的包呢?如果你还不知道报的名字,你可以去https://www.n

nodejs学习一 Holle World

安装包下载:http://www.nodejs.org/download/ Windows 操作系统安装方法: 第一步:下载安装包: 第二步:运行node-v0.10.28-x86.msi,选择要安装的地址. 第三步:安装完后,运行cmd ,输入node,如图: 说明安装成功.这样你就进入nodejs 世界. 闪烁的光标等你输入. 第一个程序Hello World 就这么简单,你完成了人生第一次nodejs体验.console.log . 我们在换种方式来体验一下. 我们建立我们将要学习的一个目

nodejs学习笔记(基于v7.4.0)

nodejs学习笔记 一.buffer: 全局对象(单例   Buffer.from   Buffer.alloc   Buffer.allocUnsafe ) 编码类型 描述 ascii 仅仅用于7位ascall数据编码,速度快,如果设置了将会剥离高位 utf8 多字节的编码的Unicode字符,网页文档大部分默认都为它. utf16le 小端编码的Unicode字符,2或者4个字节 ucs2 utf16le的别名 base64 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之