-
promise A和A+的不同点查看全部
-
Promise实现ajax var getJSON = function(url){ var promise = new Promise(function(resolve,reject){ var client = new XMLHttpRequest(); client.open('GET',url); client.onreadystatechange = handler; client.responseType = 'json'; client.setRequestHeader('Accept','application/json'); client.send(); function handler(){ if(this.readyState !== 4){ return; } if(this.status === 200){ resolve(this.response); }else{ reject(new Error(this.statusText)); } } }); return promise; }; // getJSON('/posts.jons').then(function(json){ consoloe.log(json); },function(error){ console.log('出错了'); });查看全部
-
异步加载图片 Promise function loadImageAsync(url){ return new Promise(function(resolve,reject){ var image = new Image(); image.onload = function(){ resolve(image); }; image.onerror = function(){ reject(new Error('Could not load image at' + url)); }; image.src = url; }); }查看全部
-
利用setTimeout做类似递归算法查看全部
-
node.js查看全部
-
Buffer在nodejs中用来处理二进制的数组(js字符串是用utf-8存储的,处理二进制的能力是很弱的,而网络层对资源的请求,响应等基本以二进制来进行交互)创建一个专门存储二进制的缓存区,并提供了一些方法对这些缓存区的数据做进一步的处理 buffer在nodejs里可全局访问 buffer实例化 1. new Buffer('hello 你好');//以默认编码格式utf-8进行字符转换 2. new Buffer('hello 你好','base64');//将默认编码格式修改为base64 3. var buf = new Buffer(8);//设置缓存区的大小 buf.length; //8 4. var buf = new Buffer('12345678'); console.log(buf) //buf长度为8 5. var buf = new Buffer(7); buf.write('12345678'); console.log(buf) //只要指定了buf长度,超出了都不会被缓存 6. var buf = new Buffer([1,2,3,4]);//经过数组初始化 console.log(buf[1])//值为2. 可以通过下标来访问,如果值为小数,会直接取整数。查看全部
-
Buffer.compare(a,b) 返回值是0就表示两个buffer相同查看全部
-
push(null)表示结束buffer数组查看全部
-
pipe方法会自动监听data和end时间,还可以自动控制后端压力,在客户端链接缓慢时,自动控制流量,并且只有在pipe末端的目标流真正需要数据的时候才会从源头取得数据查看全部
-
.write方法返回boolean值 如果流需要等待 'drain' 事件触发才能继续写入数据,这里将返回 false ; 否则返回 true。查看全部
-
buffer 方法查看全部
-
// 用es6实现 const stream = require('stream') class ReadStream extends stream.Readable { constructor () { super() } _read () { this.push('i') this.push('love') this.push('imooc \n') this.push(null) } } class writStream extends stream.Writable { constructor () { super() } _write (chunk, encode, cb) { console.log(chunk.toString()) cb() } } class TransformStream extends stream.Transform { constructor () { super() } _transform (chunk, encode, cb) { this.push(chunk) cb() } _flush (cb) { this.push('oh yeah') cb() } } const rs = new ReadStream() const ws = new writStream() const ts = new TransformStream() rs.pipe(ts).pipe(ws)查看全部
-
poolSize:内容载体的容量。 isBuffe:r判断这个对象是否为Buffer对象,很对时候我们需要判断数据类型,才会有后续的操作。 compare:用来判断两个Buffer对象的相对位置,一般用来做按字符串来排序之类的。 isEncoding:用来判断nodejs是否支持某种编码。 concat:将几个Buffer对象连接创建成一个新的Buffer对象。我们可以手动分配合并后Buffer对象的空间大小,但是空间不够的话,数据会被截断。 byteLength:用来获取指定编码下字符串所占的字节数。由于字符串的编码不同,字符串长度和字节长度也是不同的。查看全部
-
https协议是基于SSL/TLS之上的http协议,所有的数据都是在SSL/TLS的封装之上传输的。也就是说,HTTPS协议是在HTTP协议的基础之上添加了SSL/TLS握手以及数据加密传输。简单来说,在nodejs里面,HTTPS就是专门用来处理加密访问的。同事HTTP和HTTPS在这两个模块的API和使用方式几乎是一样的,也就是使用的时候,在搭建HTTPS服务器的时候,需要一个SSL证书。查看全部
-
bluebird查看全部
举报
0/150
提交
取消