nodejs中回調(diào)的含義是什么

這篇文章主要介紹“nodejs中回調(diào)的含義是什么”,在日常操作中,相信很多人在nodejs中回調(diào)的含義是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”nodejs中回調(diào)的含義是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開發(fā)、微信平臺(tái)小程序開發(fā)、集團(tuán)成都定制網(wǎng)站等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都發(fā)電機(jī)租賃等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致贊揚(yáng)!

在nodejs中,回調(diào)是將一個(gè)函數(shù)作為參數(shù)傳遞給另一個(gè)函數(shù),并且通常在第一個(gè)函數(shù)完成后被調(diào)用;是一個(gè)異步等效的功能,Node的所有的API都支持回調(diào)這樣的一種方式。

本文操作環(huán)境:Windows10系統(tǒng)、nodejs 12.19.0版、Dell G3電腦。

nodejs中回調(diào)是什么意思

回調(diào)是一個(gè)異步等效的功能。在完成特定任務(wù)回調(diào)函數(shù)被調(diào)用。 Node大量使用了回調(diào)。Node的所有的API都支持回調(diào)這樣的一種方式。

例如,一個(gè)函數(shù)讀取一個(gè)文件可能開始讀取文件,并使得下一個(gè)指令可以被執(zhí)行立即返回控制到執(zhí)行環(huán)境。一旦文件I/O完成后,它會(huì)調(diào)用回調(diào)函數(shù),同時(shí)傳遞回調(diào)函數(shù),該文件的內(nèi)容作為參數(shù)。因此,有沒(méi)有堵塞或等待文件I/ O。這使得Node.js高度可擴(kuò)展,因?yàn)樗梢蕴幚泶罅康恼?qǐng)求,而無(wú)需等待任何函數(shù)來(lái)返回結(jié)果。

   阻塞代碼例子

創(chuàng)建一個(gè)名為input.txt的文件有以下內(nèi)容的文本

Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!

創(chuàng)建一個(gè)js文件名為main.js里面有如下代碼:

var fs = require("fs");
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("Program Ended");

現(xiàn)在運(yùn)行main.js看到的結(jié)果:

$ node main.js

驗(yàn)證輸出

Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!
Program Ended

   非阻塞代碼例子

創(chuàng)建一個(gè)名為input.txt的文件有以下內(nèi)容的文本

Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!

更新main.js文件如以下代碼:

var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
    if (err) return console.error(err);
    console.log(data.toString());
});
console.log("Program Ended");

現(xiàn)在運(yùn)行main.js看到的結(jié)果:

$ node test.js

驗(yàn)證輸出

Program Ended
Yiibai Point is giving self learning content
to teach the world in simple and easy way!!!!!

這兩個(gè)例子說(shuō)明阻塞和非阻塞調(diào)用的概念。第一個(gè)例子說(shuō)明程序塊,直到它讀取該文件,然后只前進(jìn)到結(jié)束程序的地方。在第二個(gè)例子中,程序不等待文件讀取,但它只是進(jìn)行打印“Program Ended”,并同時(shí)程序無(wú)阻塞繼續(xù)讀取文件。

因此,阻擋程序執(zhí)行在序列,從編程點(diǎn)查看其更容易實(shí)現(xiàn)的邏輯,但非阻塞方案并不按順序執(zhí)行,這樣的情況下一個(gè)程序需要使用的任何數(shù)據(jù)進(jìn)行處理,它應(yīng)保持使用式相同的塊,使之按順序執(zhí)行。

到此,關(guān)于“nodejs中回調(diào)的含義是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

分享名稱:nodejs中回調(diào)的含義是什么
本文路徑:http://bm7419.com/article26/iihhcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)網(wǎng)站維護(hù)、網(wǎng)站營(yíng)銷、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)