'Javascript equivalent of Task.Yield() in C#

I have a service that can only execute one command at a time. Normally this is fine because users of this service should await the service calls and thus only one service call should begin at a time, however I can't guarantee this will always be the case. Instead, the service waits to finish its last call before it begins the next one. This is what I do in C#:

static async Task<string> Get(string url, params string[] parameters)
{
    while(!isReady)
    {
        await Task.Yield();
    }

    // do stuff
}

I want to do a similar thing in an unrelated NodeJS project.

My Google-fu failed me. Is there a Javascript equivalent of C#'s Task.Yield() that I can await?



Solution 1:[1]

Ah, of course! It's simple. This might not be the best way but it works.

static async RunCommand(cmd: string, ...params: string[]): Promise<string> {
    while(!this.isReady) {
        await new Promise(resolve => setTimeout(resolve, 0));
    }

    // do stuff
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1