W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
setTimeout()函數(shù)接受調(diào)用一個(gè)函數(shù),并在超時(shí)之后應(yīng)該調(diào)用它:
setTimeout(function () {
console.log("done");
}, 2000);
console.log("waiting");
如果運(yùn)行上述代碼,你將看到以下輸出:
程序?qū)⒊瑫r(shí)設(shè)置為2000ms(2s),然后繼續(xù)執(zhí)行,打印出“waiting"文本。
在Node.js中,調(diào)用一個(gè)函數(shù)需要等待一些外部資源,我們應(yīng)該調(diào)用fopen(path,mode,function callback(file_handle){...}),而不是調(diào)用fopen(path,mode)和waiting。
下面的代碼為異步函數(shù)。
var fs = require("fs");
/*www.o2fo.com*/
fs.open(
"a.js", "r",
function (err, handle) {
var buf = new Buffer(100000);
fs.read(
handle, buf, 0, 100000, null,
function (err, length) {
console.log(buf.toString("utf8", 0, length));
fs.close(handle, function () { /* don"t care */ });
}
);
}
);
上面的代碼生成以下結(jié)果。
require函數(shù)是一種在Node.js程序中包含附加功能的方法。
回調(diào)異步函數(shù)有至少一個(gè)參數(shù),最后操作的成功或失敗狀態(tài)。它通常具有第二參數(shù),其具有來自最后操作的附加結(jié)果或信息。
do_something(param1, param2, ..., paramN, function (err, results) { ... });
例如,
fs.open(//www.o2fo.com
"a.js", "r",
function (err, handle) {
if (err) {
console.log("ERROR: " + err.code + " (" + err.message ")");
return;
}
// success!! continue working here
}
);
在此樣式中,你檢查錯(cuò)誤或繼續(xù)處理結(jié)果。
現(xiàn)在這里是另一種方式:
fs.open(//www.o2fo.com
"a.hs", "r",
function (err, handle) {
if (err) {
console.log("ERROR: " + err.code + " (" + err.message ")");
} else {
// success! continue working here
}
}
);
以下代碼顯示如何讀取帶有錯(cuò)誤處理程序的文件。
var fs = require("fs");
//www.o2fo.com
fs.open(
"a.js", "r",
function (err, handle) {
if (err) {
console.log("ERROR: " + err.code + " (" + err.message + ")");
return;
}
var buf = new Buffer(100000);
fs.read(
handle, buf, 0, 100000, null, function (err, length) {
if (err) {
console.log("ERROR: " + err.code + " (" + err.message + ")");
return;
}
console.log(buf.toString("utf8", 0, length));
fs.close(handle, function () { /* don"t care */ });
}
);
}
);
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: