Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Javascript settimeout in promise chain
// example code for blog post
// https://stackfame.com/javascript-settimeout-promise-chain
makeHttpCall("https://api.stackfame.com/1")
.then(function(data) {
return makeHttpCall("https://api.stackfame.com/2");
})
.then(function(data) {
return loadScript("https://api.stackfame.com/3");
})
.then(function(data) {
// do something useful with data
});
makeHttpCall("https://api.stackfame.com/1")
// add delay here
.then(function(data) {
return makeHttpCall("https://api.stackfame.com/2");
})
// add delay here
.then(function(data) {
return loadScript("https://api.stackfame.com/3");
})
.then(function(data) {
// do something useful with data
});
const delay = time => new Promise(resolve => setTimeout(resolve, time));
makeHttpCall("https://api.stackfame.com/1")
// add delay here
.then(delay(10000))
.then(function(data) {
return makeHttpCall("https://api.stackfame.com/2");
})
// add delay here
.then(delay(5000))
.then(function(data) {
return loadScript("https://api.stackfame.com/3");
})
.then(function(data) {
// do something useful with data
});
const delay = time => new Promise(resolve => setTimeout(resolve, time));
// using es6 arrow functions
makeHttpCall("https://api.stackfame.com/1")
// add delay here
.then(delay(4000))
.then(data => makeHttpCall("https://api.stackfame.com/2"))
// add delay here
.then(delay(2000))
.then(data => loadScript("https://api.stackfame.com/3"))
.then(
data => console.log(data)
//do something useful with data
);
Promise.prototype.delay = time =>
new Promise(resolve => setTimeout(resolve, time));
makeHttpCall("https://api.stackfame.com/1")
// add delay here
.delay(4000)
.then(data => makeHttpCall("https://api.stackfame.com/2"))
// add delay here
.delay(5000)
.then(data => loadScript("https://api.stackfame.com/3"))
.then(
data => console.log(data)
//do something useful with data
);
@vithalreddy

This comment has been minimized.

Copy link
Owner Author

@vithalreddy vithalreddy commented Jan 6, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.