/    Sign up×
Community /Pin to ProfileBookmark

JavaScript callback function – sequential execution

I want result:
“first”
“second”
“third” – after delay of 1s

“`
function first() {
console.log(“first”);
}

function second(a, callback) {
callback(a);
console.log(a);
}
function third(b, secCallBack) {
secCallBack(b);
console.log(b);
second(“second”, function () {});
}
setTimeout(third, 1000)

third(“third”, first);
“`

Where am i wrong ?

to post a comment
JavaScript

2 Comments(s)

Copy linkTweet thisAlerts:
@daveyerwinMay 02.2020 — ``<i>
</i>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){
console.log('number one');
setTimeout(function(){(callBack.shift())(callBack)},1000);
}
function second(callBack){
console.log('number two');
setTimeout(function(){(callBack.shift())(callBack)},1000);
}
function third(){
console.log('number three')
}
var callBackFunctions = [second,third];
first(callBackFunctions);

&lt;/script&gt;<i>
</i>
`</CODE>
&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one'); <br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;
<CODE>
`<i>
</i>
`</CODE>
&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000); <br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000); <br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one');<br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one');<br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one');<br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one');<br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one');<br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one');<br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;

<CODE>
`<i>

</i>
`</CODE>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one');<br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;sequenced&lt;/title&gt;<br/>
&lt;script&gt;<br/>
function first(){<br/>
console.log('number one');<br/>
}<br/>
function second(){<br/>
console.log('number two');<br/>
}<br/>
function third(){<br/>
console.log('number three');<br/>
}

function sequencer(order){<br/>
if(order.length){<br/>
setTimeout('sequencer(order)',1000);<br/>
(order.shift())()};<br/>
}<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;

<CODE>
`<i>
</i>
&lt;/script&gt;<i>

</i>
`</CODE>
&lt;/script&gt;<br/>
order=[first,second,third];<br/>
sequencer(order);<br/>
&lt;/script&gt;

&lt;!DOCTYPE html&gt;<br/>
&lt;html lang="en"&gt;<br/>
&lt;head&gt;<br/>
&lt;meta charset="UTF-8"&gt;<br/>
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;<br/>
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){<br/>
console.log('number one');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function second(callBack){<br/>
console.log('number two');<br/>
setTimeout(function(){(callBack.shift())(callBack)},1000);<br/>
}<br/>
function third(){<br/>
console.log('number three')<br/>
}<br/>
var callBackFunctions = [second,third];<br/>
first(callBackFunctions);

&lt;/script&gt;

<CODE>
`<i>
</i>
``
Copy linkTweet thisAlerts:
@daveyerwinMay 02.2020 — ``<i>
</i>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;called back list&lt;/title&gt;

&lt;script&gt;

function first(callBack){
console.log('number one');
setTimeout(function(){(callBack.shift())(callBack)},1000);
}
function second(callBack){
console.log('number two');
setTimeout(function(){(callBack.shift())(callBack)},1000);
}
function third(){
console.log('number three')
}
var callBackFunctions = [second,third];
first(callBackFunctions);

&lt;/script&gt;<i>
</i>
``
×

Success!

Help @minickg spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 4.24,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,

tipper: @Samric24,
tipped: article
amount: 1000 SATS,
)...