-
promise庫(kù)查看全部
-
// 保證then的執(zhí)行順序 // 規(guī)范的鏈?zhǔn)綄懛ǎ?清楚的流程 // 能異步編程的地方都可以使用promise // 但是不能為了promise而promise查看全部
-
// 規(guī)范的鏈?zhǔn)綄懛ǎ?清楚的流程 // 不能為了promise而promise查看全部
-
// 規(guī)范的鏈?zhǔn)綄懛ǎ?清楚的流程 // 不能為了promise而promise查看全部
-
Promise A 與 A+ 規(guī)范的 不同點(diǎn)查看全部
-
Promise對(duì)象的三種狀態(tài)~ pending fulfilled rejected查看全部
-
Promise是一種規(guī)范 同步的編程方式 而代碼執(zhí)行是異步的。人類化查看全部
-
回調(diào)方式編程簡(jiǎn)直就是反人類。。。。修改不編 編寫也不方便 Promise把代碼的編寫正?;藒查看全部
-
var fs = require('fs'); // 讀取文件 var readStream = fs.createReadStream('ml.mp4'); // 寫入新文件 var writeStream = fs.createWriteStream('make_love.mp4'); readStream.on('data', function(chunk){ //判斷緩沖區(qū)時(shí)候還有數(shù)據(jù) if(writeStream.write(chunk) === false){ console.log('數(shù)據(jù)讀取和寫入速度不一致,寫入過(guò)慢,數(shù)據(jù)流讀取暫停!'); readStream.pause(); } }) .on('end', function() {//讀取完畢 writeStream.end();//寫入終止 console.log('數(shù)據(jù)讀寫完畢!'); }); // 數(shù)據(jù)寫完再讀取 writeStream.on('drain', function(){ console.log('數(shù)據(jù)流繼續(xù)讀取!'); readStream.resume(); });查看全部
-
谷百一下搬運(yùn)筆記: 2015年發(fā)布了ES6標(biāo)準(zhǔn),所謂 Promise,就是ES6標(biāo)準(zhǔn)的一個(gè)對(duì)象,用來(lái)傳遞異步操作的消息。它代表了某個(gè)未來(lái)才會(huì)知道結(jié)果的事件(通常是一個(gè)異步操作),并且這個(gè)事件提供統(tǒng)一的 API,可供進(jìn)一步處理。 有了 Promise 對(duì)象,就可以將異步操作以同步操作的流程表達(dá)出來(lái),避免了層層嵌套的回調(diào)函數(shù)。此外,Promise 對(duì)象提供統(tǒng)一的接口,使得控制異步操作更加容易。 var promise = new Promise(function(resolve, reject) { if (/* 異步操作成功 */){ resolve(value); } else { reject(error); } }); promise.then(function(value) { // success }, function(value) { // failure }); Promise函數(shù)接受一個(gè)函數(shù)作為參數(shù),該函數(shù)的兩個(gè)參數(shù)分別是 resolve 方法和 reject 方法。 如果異步操作成功,則用 resolve 方法將 Promise 對(duì)象的狀態(tài),從「未完成」變?yōu)椤赋晒Α梗磸?pending 變?yōu)?resolved); 如果異步操作失敗,則用 reject 方法將 Promise 對(duì)象的狀態(tài),從「未完成」變?yōu)椤甘 梗磸?pending 變?yōu)?rejected)。查看全部
-
ES6的寫法,能少幾行代碼! "use strict" let stream=require('stream'); class ReaderStream extends stream.Readable{ constructor(){ super(); this._cached=new Buffer(''); } _read(){ this.push('I'); this.push('Love'); this.push('Mock\n'); this.push(null); } } class WriteStream extends stream.Writable{ _write(chuck,encode,cb){ console.log(chuck.toString()) cb(); } } class Transform extends stream.Transform{ _transform(chunk,encode,cb){ this.push(chunk); cb(); } _flush(cb){ this.push('oh Yeah') cb(); } } let read=new ReaderStream(); let write = new WriteStream(); let transform = new Transform(); read.pipe(transform).pipe(write);查看全部
-
...查看全部
-
function animate(ball, distance, callback) { setTimeout(function () { var marginLeft = parseInt(ball.style.marginLeft, 10); if (marginLeft === distance) { callback && callback(); }else { if (marginLeft < distance) { marginLeft++; }else { marginLeft--; } ball.style.marginLeft = marginLeft + 'px'; animate(ball, distance, callback); } }, 13) }查看全部
-
Buffer實(shí)例方法查看全部
-
console.log("開始:"+ new Date().getTime());//打印 promiseAnimate(ball[0],100) .then((str)=>{ console.log(str);//打印時(shí)間戳 return promiseAnimate(ball[1],200) }) .then((str)=>{ console.log(str); return promiseAnimate(ball[2],300) }) .then((str)=>{ console.log(str); return promiseAnimate(ball[2],150) }) .then((str)=>{ console.log(str); return promiseAnimate(ball[1],150) }) .then((str)=>{ console.log(str); return promiseAnimate(ball[0],150) })查看全部
舉報(bào)
0/150
提交
取消