$timeout once the method has finished executing

I have a scenario where I am using the $timeout function to call a second function after the completion of the first function but with a 3-second delay. However, I am facing issues as the duration of the first function varies (sometimes it takes 2 seconds, sometimes 3 seconds, and sometimes even 4 or 5 seconds).

Due to this variation in execution time, my second function is being called before the first one completes.

I am looking for possible ways to prevent this from happening. Is there any method to dynamically set the timeout value?

My goal is to ensure that the second function is only called after the completion of the first one.

Here is a snippet of my code:

$scope.otherTipChecker();
$rootScope.$emit("Loader", { loaded: true });
$timeout(function () {
    $rootScope.$emit("OverrideTipDetail", {
        OverrideTipDetail: $scope.TipDetail
    });
    $("#tipEditModal").modal('hide');
    $rootScope.$emit("Loader", { loaded: false });
}, 5000);

Answer №1

Implementing promises is the best practice rather than adding a timeout as a workaround. For more information, please refer to the link below.

Using promises in JavaScript

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Common problem encountered with TypeScript is the preference for using import instead of require statements

Is there a correct way to handle the issue of using import over require breaking type checking? Can imports be cast, and are all require's replaceable with import's? https://i.sstatic.net/iihi3.png Left: Property 'get' does not exist. ...

Problem encountered with sending automated responses in Discord bot for updates on current events

Issue with Automated Replies in Discord.js' Functionality I'm currently developing a Discord bot using the Discord.js library in Node.js, and I've encountered a problem with the automatic replies feature. The bot's main task is to retr ...

Encountered a 'angular is not defined' error message when attempting to upgrade an AngularJS1 component

I am currently in the process of upgrading AngularJS1 components to Angular6. My approach involves creating wrappers for all existing AngularJS1 components by extending "UpgradeComponent" and placing them under the folder "directive-wrappers" in my example ...

How can I include a JSON object in an angularjs $scope variable?

How can I effectively inject my JSON Object into my angular $scope during the create() function? Sample HTML: <input type="text" class="title" placeholder="hold" ng-model="formData.text"/> <input type="text" class="desc" placeholder="description ...

What is the correct way to add a period to the end of a formatted text?

Hello, this marks the beginning of my inquiry. I apologize if it comes across as trivial but I have come across this piece of code: function format(input){ var num = input.value.replace(/\./g,''); if(!isNaN(num)){ num = num.toString ...

Iterating through a JavaScript object

Just starting out with JavaScript and trying to figure out how to iterate through a JSON result that has been converted into a JavaScript object. const url = 'https://api.mybitx.com/api/1/tickers?pair=XBTMYR'; fetch(url) .then(res => re ...

Error: Attempting to access the 'url' property of an undefined variable, despite specifically checking for its undefined status

Within my React application, I am utilizing the following state: const [functions, setFunctions] = useState([{}]); I have created a test to check if a specific property is undefined: if (typeof functions[functionCount].url !== "undefined") { ...

What is the best way to loop through an array of objects using oboe?

Recently, I received a JSON response structured like this: [{ "id": 425055, "title": "Foo" }, { "id": 425038, "title": "Bar" }, { "id": 425015, "title": "Narf" }] To handle this data, I decided to utilize oboe.js to generate a highland stream ...

Jquery not functioning properly after invoking window location change

I have a function that sends a value to a php page and then executes some sql. Once the process is finished, I want to change the window location. Everything works fine without the window.location.href line, but when I include it, the page changes without ...

Altering the value of a global variable through a local function in JavaScript

I have developed a straightforward piece of Java script code. I'm looking to update the value of a global variable using a local function. Whenever I trigger the value1() function, I want the output to display as "2". Is there a way I can achieve this ...

The HTML button triggers a function to execute on a different webpage when clicked

I'm facing a straightforward issue that I can't seem to figure out due to my limited experience with Angular and web development. The problem revolves around two components, namely home and dashboard. In the home.component.html file, there's ...

`The $scope object doesn't seem to function properly with the $http.post method

Currently facing an issue with my script while trying to insert data into MySQL. Everything seems to be working correctly but for some reason, $scope is not sending data to post.config. Below is the controller code: app.controller("addNewsCtrl", func ...

Is it possible to retrieve the IMEI number of a mobile phone using expo?

Currently working on developing a mobile app with React Native using Expo. I need to figure out a way to access the client's mobile IMEI number and display it in the front end of the app. Unsure of how to accomplish this task. Is there a method to do ...

How to utilize hbs variable in an external JavaScript file

Currently, I am utilizing hbs (express handlebars) to display a page. I am interested in retrieving some variables from chat.hbs and accessing them in an external file named chat.js on the client side. Server Side res.render('chat', {chatr ...

Is Your Website Optimized for All Devices?

Creating this website was just a little project for me. I've been experimenting with different methods to ensure it's compatible with all devices and fits perfectly on each screen. Unfortunately, I'm pretty clueless when it comes to @media ...

Is there a way to verify the identity of two fields using an external script such as "signup.js"?

My current project involves working with Electron, and it consists of three essential files. The first file is index.html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel="styles ...

Modify the Fullcalendar to show time in 24-hour format as 24:00 rather than 00:00

Is there a way to change the event end time in Fullcalendar from 00:00 to 24:00? Currently, it is automatically displaying 24:00 as 00:00. defaultView: 'agendaWeek', axisFormat: 'HH:mm', selectOverlap: true, allD ...

What could be causing the function to return undefined when using fetch, axios, ajax, or a promise?

When using asynchronous calls, the issue arises where the response is returned as undefined instead of the expected data. This problem can be seen in the following scenarios: Using Fetch const response = getDataWithFetch(); console.log(response); fun ...

Strategies for populating an empty JavaScript array with search results obtained from a PHP form submission

Blank Array: <script type="text/javascript"> var itemList=[]; </script> PHP Form: <form id="itemForm" action="" method="POST"> <div class=".col-md-6"> <div id="scrollable-dropdown-menu"> <input class="typeahead" ...

Simple Way to Modify Color of Active Page Link - HTML, CSS, and JavaScript

I found a helpful example on how to change link colors for the current page here. Here is the script I added: <script> // current page highlight $(document).ready(function() { $("[href]").each(function() { if (this.href == window.l ...