উইন্ডো.সেটটাইমআউট () হওয়ার আগেই এটি বাতিল / বাতিল করুন


194

আমার কয়েকটি জায়গা রয়েছে যেখানে আমি কোনও স্থিতি পরিষ্কার করতে নীচের লাইনটি ব্যবহার করি। আমার এগুলির মধ্যে কয়েকটি রয়েছে যা 10 সেকেন্ড বা তার বেশি সময় ধরে স্থগিত হয় এবং যদি ব্যবহারকারীটি ক্রিয়াটির চারপাশে ক্লিক করে ভুল সময়ের ব্যবধানে ঘটতে পারে।

window.setTimeout(function() { removeStatusIndicator(); }, statusTimeout);

কিছু jQuery বা জাভাস্ক্রিপ্ট কোড দিয়ে এটিকে বাতিল বা হত্যা করা সম্ভব, তাই আমার এই প্রক্রিয়াটি প্রায় ঘুরপাক খাচ্ছে না?

উত্তর:


374
var timer1 = setTimeout(function() { removeStatusIndicator(); }, statusTimeout);

clearTimeout(timer1)

101
উইন্ডোটি শুধুমাত্র বিশ্বব্যাপী নেমস্পেসের নাম, সুতরাং এটি সত্যই প্রয়োজনীয় নয় (সেটটাইমআউট বা ক্লিয়ারটাইমআউট উভয়ের জন্য)।
ম্যাথু ক্রামলে

7
যেহেতু সেটটাইমআউটের প্রথম প্যারামিটারটি একটি ফাংশন এবং 'মুছে ফেলা স্ট্যাটাস ইন্ডিসিকেটর ()' একটি ফাংশন, আপনি কেবল পারফরম্যান্স অর্জন করতে পারেন (এবং কম টাইপ করুন): টাইমার টাইমআউট = সেটটাইমআউট (রিলিজ স্ট্যাটাসইন্ডিসেক্টর, স্ট্যাটাসটাইমআউট); এটি নেস্টেড ফাংশন কলগুলি এড়ায়।
হারলেডেভ

5
এবং window.clearTimeout(timer1)Node.js. এ কাজ করবে না হয় কেবল ব্যবহার করুন clearTimeout(timer1)বাglobal.clearTimeout(timer1)
সিএল 22

2
@ user1944491 কোনও ডাবল অনুরোধ থাকবে না: নোট করুন যে @ হারলিডেভ লিখেছেন setTimeout(removeStatusIndicator, ...), অর্থাৎ ফাংশনটি removeStatusIndicatorবলা হয় না।
ফ্রেরিচ রাবাবে

3
@ ব্যবহারকারী1944491 যা বলছে তা উপেক্ষা করুন - এটি ভুল। সেটটাইমআউটে ফাংশনটি পাস করে দু'বার বলা হয় না। ক্রোম তার আচরণ পরিবর্তন করা হয়নি, আরও সম্ভবত আপনি ফাংশন কল করে মাতাল আপ setTimeout( func(), 0 )বদলেsetTimeout( func, 0 )
শেঠি

2

উইন্ডো। ক্লিয়ারটাইমআউট () আপনার যা অর্জন করার চেষ্টা করছেন তা করা উচিত।


6
আপনার উত্তরটি ব্যাখ্যা করুন এবং কয়েকটি উদাহরণ দিন। একটি উত্তরের উত্তরটি সর্বদা কেবল ওপি-র জন্য নয়, ভবিষ্যতে এসও-তে আগত দর্শকদের জন্য কী করা হয়েছিল এবং কেন এটি এমনভাবে করা হয়েছিল তার একটি ব্যাখ্যা সবসময় থাকবে।
বি 1001 ᛦ

4
উপরের মন্তব্যটি আমার কাছে একেবারেই অ-প্রাসঙ্গিক এবং এলোমেলো মনে হচ্ছে বলেই +1। উত্তরটি একেবারে সূক্ষ্ম দেখায়, এটি কেবল পরে পোস্ট করা হয়েছিল, সুতরাং এটি ইতিমধ্যে সরবরাহ করা উত্তরের একটি "অনুলিপি-পেস্ট" এর মতো।
আমাদের 19
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.