# fs मॉड्यूल — नोड.जेएस

Source: https://www.geekswithgeeks.com/hi/nodejs/node-fs

> फ़ाइलें पढ़ना और लिखना, सिंक्रोनस या एसिंक्रोनस रूप से।

## फ़ाइल पढ़ना

एसिंक्रोनस, Promise-आधारित API `fs/promises` के अंतर्गत है।

```javascript
import { readFile } from "node:fs/promises";

const text = await readFile("notes.txt", "utf8");
console.log(text);
```

## फ़ाइल लिखना

`writeFile` फ़ाइल को पूरी तरह बना देता है या ओवरराइट कर देता है।

```javascript
import { writeFile } from "node:fs/promises";

await writeFile("out.txt", "Hello, file!\n");
console.log("saved");
```

Output:

```
saved
```

## सिंक बनाम एसिंक

`readFileSync` काम पूरा होने तक पूरे इवेंट लूप को ब्लॉक करता है — स्टार्टअप पर ठीक है, पर रिक्वेस्ट संभालते सर्वर में जोखिम भरा। वहाँ एसिंक वर्ज़न उपयोग करें।

**Quiz:** रिक्वेस्ट हैंडलर में `readFileSync` से क्यों बचें?

- [ ] यह गुम फ़ाइल पर एरर देता है
- [x] यह हर दूसरी रिक्वेस्ट के लिए इवेंट लूप को ब्लॉक कर देता है
- [ ] यह टेक्स्ट फ़ाइलें नहीं पढ़ सकता

*Answer:* यह हर दूसरी रिक्वेस्ट के लिए इवेंट लूप को ब्लॉक कर देता है. सिंक fs कॉल Node के सिंगल थ्रेड को रोक देते हैं — जब तक पढ़ना पूरा न हो, कोई और रिक्वेस्ट नहीं संभाली जाती।
