第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

徹底理解Node.js的回調函數(shù)

Node.js 回调函数
Node.js 异步编程的直接体现就是回调。
异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了.
回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。

例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。

通常在使用某些Node的api的时候,我们需要先require相应的模块(这个过程可以理解为java中的import),而对于文件读取操作,我们首先需要require('fs')这个Moudle,fs的意思就是File System的简称,然后可以使用其中的API进行文件的读写操作.
首先我们看一下官网关于File System的描述:
File I/O is provided by simple wrappers around standard POSIX functions. To use this module do require('fs'). All the methods have asynchronous and synchronous forms.
file的I/O操作是基于标准的可移植操作系统接口进行的封装,使用这个模块需要使用require('fs')进行模块的引入,这个模块所有的方法都提供了同步,异步两种模式.

The asynchronous form always takes a completion callback as its last argument. The arguments passed to the completion callback depend on the method, but the first argument is always reserved for an exception. If the operation was completed successfully, then the first argument will be null or undefined.
异步的模式通常使用一个完成后的回调函数作为他的最后一个参数,这个方法提供完成回调后参数,但是第一个参数通常是一个异常.如果这个操作成功执行,那么第一个参数的值会是null或者undefined.

When using the synchronous form any exceptions are immediately thrown. You can use try/catch to handle exceptions or allow them to bubble up.
当使用同步的模式时,有任何异常都会立即抛出,我们可以使用try/catch进行捕获,或者让此异常向上传递.

扯了那么多,是时候上代码了.

var fs = require("fs");//首先引入fs模块
var fileName = 'D:\\firstnode.txt';//定义文件路径

console.log("同步执行开始!");
var data = fs.readFileSync(fileName);
console.log(data.toString());
console.log("同步执行结束!\n");

console.log("异步执行开始!");
fs.readFile(fileName, function(error,data){
    console.log(error);
    if(error){
        console.log(error);
    }else{
        console.log(data.toString());
    }
})
console.log("异步执行结束!");
控制台的执行结果:
同步执行开始!
my first node.js
同步执行结束!

异步执行开始!
异步执行结束!
null
my first node.js

根据程序运行结果我们可以看出同步和异步的区别,同步的话读取文件信息会阻塞当前代码执行,而异步则不会.

最后总结一下:对于Node中的异步回调我们可以理解为java中的接口回调,都是告诉别人你发生什么事情要执行什么方法,然后当事情发生之后就调用我们给定的方法.

點擊查看更多內容
4人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消