您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
05 js訂閱者模式和觀察者模式代碼(詳解如何模擬實現node中的Events模塊(通俗易懂版))
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-16 01:33:40【】8人已围观
简介,用在這里再適合不過。對于第二個問題,我們便是采用偉大的generator生成器函數,其中的yield特性,可以使我們手動的控制代碼的向下執行。接下來我們實際的解決一個問題:實現對于讀取文件異步操作的
對于第二個問題,我們便是采用偉大的generator生成器函數,其中的yield特性,可以使我們手動的控制代碼的向下執行。
接下來我們實際的解決一個問題:實現對于讀取文件異步操作的控制,當讀取完文件之后打印讀取的內容。
我們依賴于node環境,首先通過promise對其進行封裝,實現數據成功的監聽。我們手下代碼如下:
請點擊輸入圖片描述
var fs = require('fs');var readFile = function(fileName) { return new Promise(function(resolve,reject) {fs.readFile(fileName, function(err, data) { if (err) return reject(err);
resolve(data);
})
})
}
請點擊輸入圖片描述
有了這個東西,我們便可以通過其then()表達式,"當數據加載完后,執行某個動作"。那我們執行的動作是啥,自然就是執行下一步的代碼的操作。繼續看代碼:
請點擊輸入圖片描述
var gen = function* () { var f1 = yield readFile('/Users/dongqiang/Desktop/demo.txt'); var f2 = yield readFile('/Users/dongqiang/Desktop/demo.txt');買粉絲nsole.log('<<<<<<<<<<<<<<<<<<<<<<<',f1.toString());
買粉絲nsole.log('>>>>>>>>>>>>>>>>>>>>>>>>',f2.toString());
}
請點擊輸入圖片描述
這個就是一個generator函數的表達式,在這個函數里面,遇到generator就會執行類似于return的操作。我們通過next()便可以實現手動的控制代碼的向下執行。
那么我們如何控制代碼的執行流程呢,看下面一段:
請點擊輸入圖片描述
var g = gen();g.next().value.then(function(data){
g.next(data).value.then(function(data){
g.next(data);
});
});
請點擊輸入圖片描述
這段的具體解釋就是,我們通過promise封裝的對象實現了對于異步操作數據返回的監聽,當數據返回的時候,我們就通過next()執行下一步的操作,同時把上步操作的值帶入到下一個階段的執行流程之中。
但是上面這段操作很是蛋疼啊,我們要的是一個能通用的操作流程函數。那么我們繼續對這段循環操作進行封裝:
請點擊輸入圖片描述
function run(gen){ var g = gen(); function next(data){ var result = g.next(data); if (result.done) return result.value;result.value.then(function(data){
next(data);
});
}
next();
}
run(gen);
請點擊輸入圖片描述
于是一個非常簡單的買粉絲模塊便誕生了。
最終代碼如下:
請點擊輸入圖片描述
我們把函數放到run的執行器里面,便實現了同步操作異步代碼的過程
很赞哦!(814)
相关文章
- 01 上海對外經貿大學中澳合作分數線(上海對外經貿大學2022分數線)
- 01 上海對外經貿大學acca方向班(中國都有哪些大學開設了ACCA專業/方向班?)
- 02 湖南外貿職業學院2021官網(今年460到480分文科生能上哪些大學?)
- 01 上海對外經貿大學三期宿舍樓幾層(上海對外經貿大學就讀體驗)
- 01 上海對外經貿大學MBA周老師(上海對外經貿大學MBA的學費多少?)
- 02 湖南博長鋼鐵貿易有限公司怎么樣(施迪明公司的規模怎么樣?)
- 01 上海對外經貿大學會展與旅游學院院長(上海財經大學國際工商管理學院的專業介紹)
- 02 湖南省工業貿易學校 招聘(湖南工業貿易學校怎么樣)
- 01 上海對外經貿大學會計專業錄取分數線(上海對外經貿大學2023錄取分數線)
- 01 上海對外經貿大學專業(上海對外經貿大學有什么特色專業,專業排名如何)
热门文章
站长推荐
02 湖南海外旅游旅行社(出境游最好的旅行社)
01 上海對外經貿大學會計專碩就業前景(上海對外經貿大學會計專碩分數線)
01 上海對外經貿大學mba學費(上海這邊MBA院校的學費大概是多少)
01 上海對外經貿大學acca方向班有必要報嗎(職業生涯規劃范文或者職業規劃范文)
01 上海對外經貿大學會計專業分數線(上海對外經貿大學會計專碩分數線)
01 上海對外經貿大學中外合作辦學要出國嗎(上海對外經貿大學中外合作的區別是什么?)
02 湖南省農產品出口貿易現狀及發展對策(求論文一篇,題目是《我國農產品國際貿易狀況及發展對策》。)
01 上海對外經貿大學會展與旅游學院推薦(旅游管理專業將來就業方向是什么?就業前景好嗎?剛剛得知被上海對外經貿大學旅游管理錄取,學校很喜歡,)