您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
05 js訂閱者模式和觀察者模式代碼(Javascript如何實現接口?)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-27 14:08:40【】5人已围观
简介,用在這里再適合不過。對于第二個問題,我們便是采用偉大的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的執行器里面,便實現了同步操作異步代碼的過程
很赞哦!(93)
相关文章
- 02 youtube mp3下載器除了迅雷下載(哪個音樂軟件音質最好?)
- 01 youtube官網網頁版登錄不上去了賬戶(you tu be的官網是多少?)
- 01 youtube官網網頁版注冊賬號申請注冊賬號(求E.M.Youtube 買粉絲 download tool 的 注冊碼)
- 01 youtube官網網頁版登錄(you tu be的官網是多少?)
- 02 youtube music 80s soul music(杰西麥卡特尼Jesse McCartney 資料)
- 01 youtube官網網頁版登錄不了賬號了(ted郵箱怎么退訂)
- 01 youtube官網網頁版登錄不用下載直接(switch綁定信用卡)
- 02 youtube music app for windows 10 download下載依賴(在Ubuntu上有什么必裝的實用軟件?)
- 02 youtube music 80s rock mix(尋一個聽歌的網站)
- 02 youtube mp3 320kbps download online app apk下載(聯想A60+如何刪除自帶軟件?)
热门文章
站长推荐
01 youtube官網網頁版注冊賬號申請注冊商標(明星玩的像電腦樣直板的那是什么(就觸屏的,像電腦,但卻是像一塊板,平 平的) 可以用來做什么???)
02 youtube mp3 320 kbps y2(介紹一下Ipod shuffle各代的外部特征及功能)
02 youtube music 2023 pop music(哪些音樂應用可以免費聽歌?)
02 youtube music app download pc版嗎(如何在youtubemusic中創建快捷指令)
01 youtube官網網頁版登錄不掃碼嗎(請問最好用的在線二維碼生成器有哪些)
01 youtube官網網頁版登錄不進去了怎么(you tu be的官網是多少?)
01 youtube官網網頁版登錄不用手機確認(什么信用卡可以綁定任天堂)
02 youtube music 80s hits playlist new wave((Just Like) Starting Over (2000 Digital Remaster) 歌詞)