Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

140
Views
Avoiding Jquery becoming undefined in anonymous async function

I've run into a issue with jQuery becoming undefined in a for loop. I have found a solution, but I'm trying to understand why the issue occurs. Of course, I'm open to feedback on my programming style and choices. Anyway I digress...

Background

Working on a bookmarklet to automate a tedious task in a asset management system that's done in the browser. There are a million and one better ways that I would like to do this, but due to technical and political constrains, cannot.

The task being automated is long and has to be repeated numerous times so it must be non-blocking so the DOM can be updated with a progress bar.

Issue

The below code works fine for a single iteration. However, on the successive iteration, jQuery becomes undefined which causes the code to crash since jQuery is required in UI_ProgressBar.

After UI_Render completes, $ becomes undefined however I have no clue why this might be the case.

async function UI_Render()
{
    return new Promise(resolve => setTimeout(resolve, 10)); 
}

//i = [0,100] is for the example.
for(let i = 0; i <= 100; i++)
{
    await DoStuff(i);
    await UI_ProgressBar(i).then(async function () {
        await UI_Render();
    });
}

Interim Solution

Currently my interim solution is to use a temporary variable to hold jQuery but this is not ideal.

async function UI_Render(){
    let v = $;
    var p = new Promise(resolve => setTimeout(resolve, 10)); 
    $ = v;
    return p; 
}

If you want to test the code, here is a raw extract that can be pasted into the developer console: https://pastebin.com/3Ajvcc7u

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!