对象已移动

可在此处找到该文档 JavaScript waitFor Polling – New Self New Life
New Self New Life
No Result
View All Result
  • Home
  • Entertainment
  • Celebrity
  • Cinema
  • Music
  • Digital Lifestyle
  • Social Media
  • Softwares
  • Devices
  • Home
  • Entertainment
  • Celebrity
  • Cinema
  • Music
  • Digital Lifestyle
  • Social Media
  • Softwares
  • Devices
New Self New Life
No Result
View All Result
Home Softwares

JavaScript waitFor Polling

by admin
2 years ago
in Softwares
Object.entries
Share on FacebookShare on Twitter

As extra of the JavaScript builders write turns into asynchronous, it is solely pure to want to attend for circumstances to be met. That is very true in a world with asynchronous testing of circumstances which do not present an express await. I’ve written about waitForever, waitForTime, and JavaScript Polling previously, however I needed to have a extra trendy approach of awaiting a given state. Let’s take a look at this tremendous helpful waitFor operate!

waitFor is an async operate that enables builders to offer a situation operate, polling interval (in milliseconds), and optionally available timeout (in milliseconds).

// Polls each 50 milliseconds for a given situation
const waitFor = async (situation, pollInterval = 50, timeoutAfter) => {
  // Observe the beginning time for timeout functions
  const startTime = Date.now();

  whereas (true) {
    // Verify for timeout, bail if an excessive amount of time handed
    if(typeof(timeoutAfter) === 'quantity' && Date.now() > startTime + timeoutAfter) {
      throw 'Situation not met earlier than timeout';
    }

    // Verify for conditon instantly
    const outcome = await situation();

    // If the situation is met...
    if(outcome) {
      // Return the outcome....
      return outcome;
    }

    // In any other case wait and verify after pollInterval
    await new Promise(r => setTimeout(r, pollInterval));
  }
};

Utilizing this operate is so simple as simply offering a situation operate:

await waitFor(() => doc.physique.classList.has('loaded'));

Timing out the interval and timeout can also be easy:

await waitFor(
  () => doc.physique.classList.has('loaded'),
  // Checks each 100 milliseconds
  100,
  // Throws if the "loaded" class is not on the physique after 1 second
  10000
);

In a super world, builders would all the time have a deal with on the Promise that may very well be await‘d or then‘d. In follow, nevertheless, that is not all the time the case, particularly in a testing atmosphere. Having the ability to await a situation in any atmosphere is an absolute should, so maintain this snippet in your toolbox!

Website performance monitoring
Website performance monitoring


Source link
Tags: JavaScriptPollingwaitFor
Previous Post

8 Moisture-Wicking Pieces That Will Help Keep You Cool

Next Post

The Big Summer Sweater Roundup

Related Posts

User Guide for Odoo Zoho Analytics Connector
Softwares

User Guide for Odoo Zoho Analytics Connector

by admin
September 16, 2025
30+ Best Business & Corporate Report Templates for InDesign & Photoshop in 2025 — Speckyboy
Softwares

30+ Best Business & Corporate Report Templates for InDesign & Photoshop in 2025 — Speckyboy

by admin
September 18, 2025
Software tool turns everyday objects into animated, eye-catching displays—without electronics
Softwares

Software tool turns everyday objects into animated, eye-catching displays—without electronics

by admin
September 17, 2025
Surviving the AI Takeover in QA: How to Join the Top 1%
Softwares

Surviving the AI Takeover in QA: How to Join the Top 1%

by admin
September 14, 2025
We are getting close now – Vivaldi Browser snapshot 3797.35
Softwares

We are getting close now – Vivaldi Browser snapshot 3797.35

by admin
September 10, 2025
Next Post
The Big Summer Sweater Roundup

The Big Summer Sweater Roundup

Mark Zuckerberg says Elon Musk ‘isn’t serious’ about cage fight – National

Mark Zuckerberg says Elon Musk ‘isn’t serious’ about cage fight - National

  • Trending
  • Comments
  • Latest
Instagram Adds New Teleprompter Tool To Edits

Instagram Adds New Teleprompter Tool To Edits

June 11, 2025
The Most Visited Websites in the World [Infographic]

The Most Visited Websites in the World [Infographic]

May 12, 2025
Acyan's "Ghost Town" EP Is Bass Music Storytelling at Its Most Ominous

Acyan's "Ghost Town" EP Is Bass Music Storytelling at Its Most Ominous

May 18, 2025
I Only Have More Questions After Another Bizarre Outing With The Harrigans

I Only Have More Questions After Another Bizarre Outing With The Harrigans

April 20, 2025
Amazon Forgot to Take the 2024 MacBook Air Off Sale After Their Big Spring Event

Amazon Forgot to Take the 2024 MacBook Air Off Sale After Their Big Spring Event

April 4, 2025
Ecca Vandal’s “CRUISING TO SELF SOOTHE” video is an ode to skate culture

Ecca Vandal’s “CRUISING TO SELF SOOTHE” video is an ode to skate culture

March 10, 2025
Google’s AI Ambitions An ‘Existential Crisis’ For News Online

Google’s AI Ambitions An ‘Existential Crisis’ For News Online

September 6, 2025
Easy Blueberry Scones (With Frozen Blueberries)

Easy Blueberry Scones (With Frozen Blueberries)

April 10, 2025
Julia Fox Brings Adorable Son to Him Premiere — Plus More Star Sightings!

Julia Fox Brings Adorable Son to Him Premiere — Plus More Star Sightings!

September 18, 2025
YELLOWSTONE Spinoff THE DUTTON RANCH Adds Jai Courtney to the Cast — GeekTyrant

YELLOWSTONE Spinoff THE DUTTON RANCH Adds Jai Courtney to the Cast — GeekTyrant

September 18, 2025
This S’pore startup wants to make alt-meat as cheap as chicken

This S’pore startup wants to make alt-meat as cheap as chicken

September 18, 2025
Country singer Spencer Hatcher shares emotional video weeks after his mother’s murder: ‘My biggest fan’

Country singer Spencer Hatcher shares emotional video weeks after his mother’s murder: ‘My biggest fan’

September 18, 2025
Meta Showcases New AI Glasses, VR Upgrades, at Connect 2025

Meta Showcases New AI Glasses, VR Upgrades, at Connect 2025

September 18, 2025
Dave Blunts Says Kanye West Tried To ‘Groom’ Him

Dave Blunts Says Kanye West Tried To ‘Groom’ Him

September 18, 2025
Aerosmith Announce New EP ‘One More Time’ With Yungblud

Aerosmith Announce New EP ‘One More Time’ With Yungblud

September 17, 2025
Scholastic Streaming App Launched By 9 Story Media Group, Catering To Kids Aged 2 To 12

Scholastic Streaming App Launched By 9 Story Media Group, Catering To Kids Aged 2 To 12

September 17, 2025
New Self New Life

Your source for entertainment news, celebrities, celebrity news, and Music, Cinema, Digital Lifestyle and Social Media and More !

Categories

  • Celebrity
  • Cinema
  • Devices
  • Digital Lifestyle
  • Entertainment
  • Music
  • Social Media
  • Softwares
  • Uncategorized

Recent Posts

  • Julia Fox Brings Adorable Son to Him Premiere — Plus More Star Sightings!
  • YELLOWSTONE Spinoff THE DUTTON RANCH Adds Jai Courtney to the Cast — GeekTyrant
  • This S’pore startup wants to make alt-meat as cheap as chicken
  • Home
  • Disclaimer
  • DMCA
  • Privacy Policy
  • Cookie Privacy Policy
  • Terms and Conditions
  • Contact us

Copyright © 2021 New Self New Life.
New Self New Life is not responsible for the content of external sites. slotsfree  creator solana token

No Result
View All Result
  • Home
  • Entertainment
  • Celebrity
  • Cinema
  • Music
  • Digital Lifestyle
  • Social Media
  • Softwares
  • Devices

Copyright © 2021 New Self New Life.
New Self New Life is not responsible for the content of external sites.

New Self New Life