-
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
提交
取消