Javascript按顺序回调输出



这些函数的输出按正确的顺序调用,如2,3,1,但我喜欢先输出为1,然后输出为2,3。

const firstFunction = () => {
setTimeout(function() {
console.log(1);
}, 3000);
}
const secondFunction = () => {
console.log(2);
}
const thirdFunction = () => {
console.log(3);
}
firstFunction();
secondFunction();
thirdFunction();

我试着使用回调,但它在执行1之后没有输出2,3。

const firstFunction = () => {
setTimeout(function() {
console.log(1);
}, 3000);
}
const secondFunction = (callback) => {
console.log(2);
callback();
}
const thirdFunction = (callback) => {
console.log(3);
callback();
}
firstFunction(function() {
secondFunction(function() {
thirdFunction();
});
});

如何通过使用回调实现这一点?

firstFunction是第一个应该回调的函数。还有,在firstFunction中设置setTimeout有什么原因吗?

const firstFunction = (callback) => {
setTimeout(function() {
console.log(1);
callback();
}, 3000);
}
const secondFunction = () => {
console.log(2);
}
const thirdFunction = () => {
console.log(3);
}
firstFunction(function() {
secondFunction();
thirdFunction();
});

最新更新