📞
Asynchronous Programming

Callbacks

Function as Argument
💡 Callback, EK, "WAAPAS, CALL, KARNE, KA, WAADA" hai — TUM, EK, RESTAURANT, ko, APNA, PHONE, NUMBER, DETE, HO, aur, KEHTE, HO, "TABLE, READY, HONE, PAR, MUJHE, CALL, KARNA" — RESTAURANT, (ASYNC, FUNCTION), APNA, KAAM, PEHLE, KARTA, hai, aur, PHIR, TUMHE, "CALLBACK" karta hai.

Callback, EK, FUNCTION, hai, JO, EK, DUSRE, FUNCTION, ko, ARGUMENT, ke, ROOP, mein, PASS, kiya, jaata hai, aur, BAAD, mein, INVOKE, kiya, jaata hai — Node.js ki, EARLY, ASYNC, PATTERNS, mein, YE, STANDARD, THA.

Node.js, "ERROR-FIRST", CALLBACK, CONVENTION, USE, karta hai — CALLBACK, ka, FIRST, ARGUMENT, HAMESHA, ERROR, (ya, null) hota hai, DUSRA, ARGUMENT, RESULT, DATA, hota hai.

const fs = require("fs");

fs.readFile("data.txt", "utf8", (err, data) => {
  if (err) {
    console.error("Error:", err.message);
    return;
  }
  console.log("Data:", data);
});

// Multiple, NESTED, callbacks — "callback hell":
fs.readFile("a.txt", "utf8", (err, a) => {
  fs.readFile("b.txt", "utf8", (err, b) => {
    console.log(a + b);   // deeply, NESTED — hard to read
  });
});
📞
Callback, EK, "WAAPAS, CALL, KARNE, KA, WAADA" hai — TUM, EK, RESTAURANT, ko, APNA, PHONE, NUMBER, DETE, HO, aur, KEHTE, HO, "TABLE, READY, HONE, PAR, MUJHE, CALL, KARNA" — RESTAURANT, (ASYNC, FUNCTION), APNA, KAAM, PEHLE, KARTA, hai, aur, PHIR, TUMHE, "CALLBACK" karta hai.
1 / 2
⚡ झट से Recap
  • Callback = function, jo, ARGUMENT, ke, ROOP, mein, PASS, hota hai
  • Node.js, "error-first" convention, USE, karta hai — (err, data)
  • Deeply nested callbacks, "callback hell" ka, PROBLEM, banaте, HAIN
इस page में (2 subtopics)

util.promisify(), Node.js, ka, BUILT-IN, UTILITY, hai, JO, ERROR-FIRST, CALLBACK-STYLE, FUNCTIONS, ko, Promise-RETURNING, FUNCTIONS, mein, CONVERT, karta hai — LEGACY, CALLBACK-BASED, APIs, ko, MODERN, async/await, ke, saath, USE, karne, ke, liye, USEFUL, hai.

const util = require("util");
const fs = require("fs");
const readFileAsync = util.promisify(fs.readFile);

const data = await readFileAsync("data.txt", "utf8");

DEEPLY, NESTED, ANONYMOUS, CALLBACKS, ki, JAGAH, NAMED, FUNCTIONS, ALAG, se, DEFINE, karके, CALLBACK, HELL, ko, KAAFI, HAD, TAK, READABLE, banaya, ja, sakta hai — LEKIN, Promises/async-await, EK, CLEANER, MODERN, SOLUTION, HAIN.

💡Tip: Agar, TUM, KABHI, 3-4, LEVELS, se, ZYAADA, NESTED, CALLBACKS, DEKHTE, HO, YE, EK, SIGN, hai, ki, CODE, ko, Promises/async-await, mein, REFACTOR, karna, CHAHIYE.