进击Node.js基础(二)promise】的更多相关文章

一.一个牛逼闪闪的知识点Promise npm install bluebird 二.Promise实例 ball.html <!doctype> <!DOCTYPE html> <html> <head> <title>Promise animation</title> <style> .ball { width: 40px; height: 40px; border-radius: 20px; } .ball1 { b…
首先用最简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</title> <style type="text/css"> .ball { width: 40px; height: 40px; border-radius: 20px; } .ball1 { background: red; } .ball2 { background: ye…
获取HTML页面 var http = require('http') var url='http://www.imooc.com/learn/348' http.get(url,function(res){ var html = '' res.on('data',function(data){ html += data }) res.on('end',function(){ console.log(html) }) }).on('errer',function(){ console.log('…
url url.parse(url,query,host);解析域名 url必须,地址字符串 query可选 host 可选:在不清楚协议时正确解析 querystring 字符串和对象之间互相解析 querystring.escape()  querystring.unescape()  转义和反转义 参考:<慕课网进击Node.js基础>视频…
版本:偶数位为稳定版本,基数为非稳定版本 - 0.6.x - 0.7.x    - 0.8.x -0.9.x    -0.10.x  -0.11.x 概念:Node.js采用谷歌浏览器的V8引擎,用C++语言编写的JavaScript语言运行环境. 优点:可以解析JS代码,没有浏览器安全级的限制: Node适用于高并发,IO密集操作: 提供系统级别的API: 1文件读写 2进程管理 3网络通信 安装Node.js 官网下载,直接安装 配置环境变量:Path下复制node安装路径C:\Progra…
一.前言 1:Node.js本质上是用chrome浏览器 v8引擎 使用c++编写的JS运行环境 2:相比于JS没有浏览器安全级的限制,额外提供了一些系统级的API:文件读写,进程管理,网络通信等. 3:有很多借助NODE.JS完成的项目如appjs跨平台桌面应用,Jade和node.js组合使用便捷管理后台html模板,grunt自动化运行工具,express.js 4:nodejs.org,npmjs.com模块社区,github,stackoverflow 5:gitbash:类似cmd,…
是一套规范管理模块 每个js 为一个模块,多个模块作为一个包 node.js和Couchdb是对其的实现: 不同于jQuery 模块:定义.标识.引用(地址/模块名称) 模块类型: 核心模块http fs path 文件模块var util=require(‘./util.js’) 第三方模块npm  var promise=require(‘bluebird’) 模块的流程: 创建模块 teacher.js  function foo(){} 导出模块 exports.add=function…
一.Promise—Promise似乎是ES6中的规范 PROMISE的语言标准,PROMISE/A+规范,如何使用,在什么场景下使用 Promise时JS对异步操作场景提出的解决方案(回调,观察者模式等等都是一些方案) Promise以同步的方式写代码,执行异步的操作,Promise对象和普通JS对象没什么区别,它有三种状态1:未完成2:已完成3:失败 A+规范和A的不同点 -A+规范通过thenable来区分promise对象 -A+定义onFulfilled/onRejected必需是作为…
1.server.js 2.监听 一 server.js 二 监听 运行server.js后,浏览器打开:http://localhost:8888/ //============================================== // NodeJS 服务器端代码 NodeJS服务执行的文件 //============================================== var app = require('express')(); var http = re…
HTTP模块介绍 支持http协议的更多特性 不缓存请求和响应 API比较底层处理流相关,信息解析 HTTP相关概念 回调 将函数作为参数传到执行函数中,参数函数在执行函数中嵌套执行 function learn(something){ console.log(something); } function we(callback,something){ something+=' is cool' callback(something) } //具名函数 we(learn,'Nodejs') //…
HTTP:通信协议 流程概述: http客户端发起请求,创建端口默认8080 http服务器在端口监听客户端请求 http服务器向客户端返回状态和内容 稍微详细解析: 1.域名解析:浏览器搜素自身的DNS缓冲,查看是否有被请求的域名所定义的IP,缓冲1分钟 ## 谷歌浏览器输入:chrome://net-internals/#dns 2.搜索操作系统自身的DNS缓冲(浏览器无缓冲或失效) 3.读取本地的HOST文件 C:\Windows\System32\drivers\etc 4.浏览器发起…
Buffer 用来保存原始数据 (logo.png) 以下代码读取logo.png为buffer类型 然后将buffer转化为string,新建png 可以将字符串配置: data:image/png;Base64,Buffer.toString() var fs = require('fs') fs.readFile('logo.png',function(err,origin_buffer){ console.log('origin_buffer是否Buffer格式:'+Buffer.isB…
get是对request封装 可以在后台发起http请求,获取远程资源,更新或者同步远程资源 http.request(options[,callback]) 以下代码灌水失败: var http = require('https') var querystring = require('querystring') //提交的表单数据Request Payload var postData = querystring.stringify({ "blogApp":"-beauT…
引用events模块中的EventEmitter 事件的监听和发射 相同的事件发射数量有限,可以通过setMaxListeners设置峰值 var EventEmitter = require('events').EventEmitter var life = new EventEmitter() //加不加都没有报警告 //life.setMaxListeners(10) life.on('clickEvent',function(who){ console.log('给' + who + '…
作用域 function(){}大括号中的内容是一个作用域; function 和 var 的声明会被提到作用域的最上面 function f(){ a = 2; var b = g(); //此处可以访问到g()函数 a=3; return b; function g(){ //函数的声明会被提前到作用域顶部 return a; } a=1; } var result = f(); console.log(f()); console.log(a) //3 a未被声明,那么就会在全局作用域被声明…
node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherrio. 使用http直接获取url路径对应网页资源,然后使用cherrio分析. 这里我主要学习过的案例自己敲了一遍,加深理解.在coding的过程中,我第一次把jq获取后的对象直接用forEach遍历,直接报错,是因为jq没有对应的这个方法,只有js数组可以调用. 二.知识点    ①:supera…
前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上/login表示登录,/register表示注册,交给后台处理 前端代码还是和之前的一样,控制好请求的URL即可 Node.js 服务端代码如下: 1.监听端口的node-post.js(Controller层) /** * Created by LB on 2017/10/27. */ var h…
Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP&HTTPS 进程与集群 网络安全 关于node.js的误会 昨天写了篇博客,介绍了一下我对node.js的第一次亲密接触后的感受,以为node.js很小众,出乎我意料很多人感兴趣,并且对博客中的细节问题做了评论,最多的是围绕node.js的异步与单线程展开的,当然还有很多关于node.js究竟是不是语…
Node.js入门   Node.js     Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行Linux 或 Mac OS X.如果是在Windows下,那就需要安装MinGW以获得一个仿POSIX的环境.在Node中,Http是首要的.Node为创建http服务器作了优化,所以在网上看到的大部分示例和库都是集中在web上(http框架.模板库等).   Node.js不是JS应用,而是JS…
本篇介绍Node.js访问数据库并返回数据给客户端 需求基于Node.js学习(二) 数据库请下载:user.sql 1.创建user 实体类(model-user.js) function User(id,userName,userPsw){ this.id = id; this.userName = userName; this.userPsw = userPsw; } // getter User.prototype.getUserName = function () { return t…
第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 console.log(" node app1.js 1> info.log console.log("This is a test String ."); //从第二个参数开始,依序输出所有的字符串 console.log("%s","hoge","foo");//输出结果为 hoge…
玩转Node.js(二) 先来回顾上次的内容,上一次我们使用介绍了Node.js并写了第一个服务器端的Hello World程序,在这个Hello World程序中,请求自带的http模块并将其赋给http变量,然后调用http模块的createServer函数,这个函数会返回一个对象,这个对象有一个叫做listen的方法,而这个方法有一个数值参数,指定这个HTTP服务器监听的端口号,我们当时定义的是8888端口号.那么为什么看起来有些复杂呢?那是因为我们向createServer函数传递了一个…
本篇介绍下 Node.js post 请求 需求: 用户登录,前端界面输入用户名和密码,点击登录请求后台验证,根据后台反馈的信息做出响应 前端: (1)使用form表单 (2)使用ajax异步请求 服务端: (1)创建接口供前端请求 (2)获取数据并与固定数据 / 数据库进行对比验证,返回结果给前端 前端驱动后端,先贴前端代码 <form> <label> <span>用户名</span> <input type="text" pl…
node.js进阶 一.回顾与继续   对于一种语言的认识都是经历这样的一个过程的,首先从原生的环境(CMD)中开始学习,找到一门语言之间各种引用的本质和相互之间的调用方式,明澈各种依赖关系,在这个基础上我们可以进行一些比较简单的编程,但是却总是感觉到自己需要做很多底层的工作,开发的效率也比较低,因此在基本熟练的基础上,我们就需要使用IDE这种集成开发环境来进行大规模项目的开发和对接了.而node.js同样如此,在这里我推荐使用WebStorm来作为node.js的IDE,在这种环境中我们可以便…
一.前言                                                           本次内容主要包括: 1.express的基本用法 2.express中的静态服务 3.express中art-template的使用 4.express中body-parser的使用 5.expression 中express-session的使用 二.基础内容                                                    1.ex…
Node.js只支持单线程,故不会产生死锁,采用非阻塞I/O机制和事件环机制.非常适合与开发需要处理大量并发的输入/输出的应用程序.   一. Node.js的核心模块有很多,这里先写几个比较常用的(目前我个人较常用的,不代表大众):   1.buffer:用于实现二进制数据的存储和转换:   2.child-process:用于实现子进程的创建与管理:   3.console:用于控制台输出信息:   4.events:用于为事件处理提供一个基础类:   5.fs:用于操作文件及文件系统:  …
一个HTTP服务器响应 var http = require('http'); http.createServer(function(request,response){ response.end('hello world!'); }).listen(3000); 读取请求头及设定响应头 // res.setHeader(field, value) // res.getHeader(field) // res .removeHeader(field) // 默认状态码200(表明成功) res.…
什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open…
因为自己的项目中,想在商品详情页上 显示一个 商品优惠券的二维码. 以此为需求. node.js 后台代码 const qr_image = require("qr-image"); app.get("/qrcode/txt", async (req, res, next) => { const temp_qrcode = qr_image.image(req.query.text); res.type("png"); temp_qrcod…
最近工作中,因为某某某某原因,需要用到Node.js  . 发现在很多方面和python很像,比如generator / yield ,比如模块的使用方式,比如http模块. 先安装个环境,windows没什么难度,下载个安装包装一下就行,主要看一下centos的 并且修改了npm源为淘宝源,主要是下载速度快.并且安装了forever组件,作为服务器的 node 服务器守护程序. // centos6.5下安装 // 官网下载: https://nodejs.org/en/download/ /…