您好,登錄后才能下訂單哦!
本篇內容主要講解“如何使用Node.js中的回調函數”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用Node.js中的回調函數”吧!
Node.js異步編程的直接體現就是回調函數,回調函數在完成任務后會被調用,而Node.js使用了大量的回調函數,我覺得是否適合用Node.js來講回調函數。下面我就來盡力趣講回調函數吧~【推薦學習:《nodejs 教程》】
什么是回調函數
你到網上論壇找資源種子,但是你要找的資源找不到,于是你就在論壇發帖留下郵箱求資源,過幾天,有網友找到資源了,于是給你發郵件,然后你就收到了資源種子然后去下載資源。在這里,你在論壇留下郵箱就是登記回調函數,你留下的郵箱就是回調函數,有人找到資源然后給你發郵件就是觸發了回調函數的并且調用回調函數,你拿到種子然后下載就是響應回調事件。
示例:
function main(info,callback){ console.log("點贊、評論、轉發了沒?!") callback(info) } function say(msg){ console.log(msg) } main("給了,給了!",say)
這里callback就是回調函數,當然不一定要使用這個名稱。在函數體中,先輸出一條信息,然后再調用callback函數,(callback)回調函數使用msg作為自己的參數。
回調函數示例
使用Node.js程序讀取文件有兩種方式。一種是同步操作,只有讀取操作結束后才能進行后面的命令,這種方式稱為阻塞。另一種方式是異步方式,可以一邊讀取文件,一邊執行其他命令,這種方式又被稱為非阻塞。
而非阻塞方式基于回調函數,允許并行執行操作。操作結果會在事件發生時由回調函數處理,因此程序無須等待某個操作的結果就能執行下一步,這樣就大大提高了Node.js的性能,使其可以處理大量的并發請求。
舉例:
const fs = require("fs") fs.readFile('./foo.txt',function(err,data){ if(err) return console.error(err) console.log(data.toString()) }) console.log("Node.js 程序已經執行結束~")
運行結果:
Node.js 程序已經執行結束~ 小的們,快給我點贊~
可以發現,在讀取文件時,無論文件有無讀取完畢,都會執行下面的輸出語句。因此會先顯示程序已經結束的話語,然后才等待文件讀取完畢然后顯示文件內容。文件內容作為回調函數的參數data返回,這樣就不必等待文件I/O操作完畢再執行代碼了。
到此,相信大家對“如何使用Node.js中的回調函數”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。