GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

No menu could be recovered. Follow the blue links in the page.

This view

  • Original page
  • New address

GeezerVison is showing fa.javascript.info — ارور در setTimeout

  • آموزش
  • زبان جاوااسکریپت
  • Promises، async/await
  • مدیریت ارورها با promiseها
بازگشت به درس

ارور در setTimeout

شما چه فکری می‌کنید؟ آیا .catch فعال می‌شود؟ جواب خود را توضیح دهید.

new Promise(function(resolve, reject) {
  setTimeout(() => {
    throw new Error("Whoops!");
  }, 1000);
}).catch(alert);

پاسخ: نه قعال نخواهد شد:

new Promise(function(resolve, reject) {
  setTimeout(() => {
    throw new Error("Whoops!");
  }, 1000);
}).catch(alert);

همانطور که در همین فصل گفته شد، یک «try..catch واضح» دور کد تابع وجود دارد. پس تمام ارورهای همگام مدیریت می‌شوند.

اما اینجا ارور زمانی که اجرا کننده اجرا می‌شود تولید نمی‌شد بلکه بعدتر ایجاد شد. پس promise نمی‌تواند آن را مدیریت کند.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.