Ismerje meg a Javascript függvények magyarázatát
a visszahívás egy egyszerű funkció, amelyet akkor hajtanak végre, amikor a szülő függvény hív a visszahívás meghívása után. A javaScriptnek kétféle funkciója van, aszinkron és szinkron mindkét funkció ugyanúgy működik, de a meghívásakor a viselkedés megváltozik. aszinkron függvény először futtassa vissza a hívást, majd hívja magát. A set timeout egy JavaScript beépített függvény, amely tartalmazza a visszahívási funkciót. és még sok más funkció is megelégszik a visszahívással.
aszinkron : visszahívással működő funkció
szinkron :visszahívás nélkül működik.
Visszahívás funkció
- A függvény aszinkron függvényének megfelelője.
- Először futtassa a nem blokkoló kódot
- fokozza az egyszálú nodeJS szabványos teljesítményét
Pokol visszahívása
- A visszahívási függvény szintaxisa a „visszahívási pokolba” vezethet
- Amikor a visszahívások több szintbe vannak ágyazva.
- Zavarossá és nehezen érthetővé teszi a kódot.
- Dom piramisaként is emlegetik
1. Működő kód – visszahívási szinkron nélkül
var fs = request(“fs”);
console.log(“program csillaga”);
var data = fs.readFileSync(‘input.txt’);
console.log(data.toString());
console.log(“program vége”);
2.munka aszinkronnal
Var fs = request('fs');
console.log("program indítása");
//ez a kód először lefut, majd inistilizálja a kódot
fs.readFile(“input.txt”, függvény (err , data) {
if(err) return console.log(err);
console.log(data.toString());
});
console.log("program befejeződött");
Néha sok visszahívás inicializálódik, amikor egy visszahívási pokol jön létre
fs.exists(file, function (exists) {
ha (létezik) {
fs.stat(file, function (err, stat) {
if (err) {
hiba dobása
}
if (stat.isFile()) {
fs.readFile(file, 'utf8', function (err, data) {
if (err) dobja el az hibát
console.log(data)
})
}
})
}
})
// Visszahívás a pokolba
var file = 'input.txt'
//visszahívási pokol megoldás
var file = 'input.txt'
A // fájl ugyanabban a könyvtárban található
Fájl olvasása (hiba, adat) { függvény
//olvassa el a fájlt
ha (err) throw err //ez a feltétel ellenőrizze a hiba előfordulását, szóval dobja az hibát
console.log(data) //az elkészült fájl megjelenítése
}
függvény állapota (err, stat) {
//ellenőrizze az állapotot
if (err) dobja el az hibát
if (stat.isFile()) {
// ellenőrizze, hogy a fájl állapota megfelelő-e
fs.readFile(file, 'utf8', ReadFile) //readfile egyenként olvassa be a fájlt
}
}
function fileExists (exists) {
//ellenőrizd a létezést
ha (létezik)
// ellenőrizze a fájl létezését
fs.stat(fájl, állapot)
}
fs.exists(file, fileExists) // a létező függvényt meghívó fájl
Nagyon köszönöm, ha elolvasod a teljes blogot, és megoldódott a problémád, kommentelj alább, és mosolyogj rám.