Avatar ·

TypeScript: setTimeout का सही उपयोग कैसे करें (window बनाम Node.js)?

सभी को नमस्कार! मैंने अभी-अभी TypeScript सीखना शुरू किया है और `setTimeout` का उपयोग करते समय एक अजीब समस्या का सामना किया। मैं एक वेब एप्लिकेशन के लिए एक सरल टाइमर लिख रहा हूं, लेकिन TypeScript टाइप्स पर त्रुटि दे रहा है। यह मेरा कोड है: ```typescript const timerId = setTimeout(() => { console.log("3 सेकंड बीत गए"); }, 3000); clearTimeout(timerId); ``` TypeScript त्रुटि देता है: "Argument of type 'number' is not assignable to parameter of type 'Timeout'"। मैं उलझन में हूं। JavaScript में `setTimeout` हमेशा एक संख्या (टाइमर का संख्यात्मक ID) लौटाता था, और मैं इसे आसानी से `clearTimeout` में भेज देता था। TypeScript में यह काम क्यों नहीं कर रहा? मैंने गूगल किया और पता चला कि दो अलग-अलग `setTimeout` हैं: एक ब्राउज़र के लिए (window.setTimeout) और एक Node.js के लिए (global.setTimeout)। वे अलग-अलग टाइप लौटाते हैं: ब्राउज़र में यह `number` है, और Node.js में यह एक ऑब्जेक्ट `NodeJS.Timeout` है। अब मैं समझ नहीं पा रहा हूं कि TypeScript को सही वर्जन का उपयोग करने के लिए कैसे कहूं। मेरा लक्ष्य एक ऐसा कोड लिखना है जो ब्राउज़र और Node.js दोनों में काम करे (परीक्षण के लिए)।