我有两个功能
function one() {
setTimeout(function(){ console.log("first function executed"); }, 3000);
}
function two() {
console.log("second function executed");
}
如何让第二个函数等到第一个函数执行?对于初学者来说最简单的方法是什么?谢谢
最佳答案
有几种方法可以解决这个问题,两种最常见的方法是使用回调或使用 Promises。
使用回调
您可以向第一个函数添加一个回调参数,然后将第二个函数作为回调传入:
function one(callback) {
setTimeout(function() {
console.log("first function executed");
callback();
}, 3000);
}
function two() {
console.log("second function executed");
}
one(two)
使用 promise :
Promises 允许您将依赖于顺序的不同操作链接在一起。但是,您可能需要添加 polyfill 以支持旧版浏览器:
function one() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
console.log("first function executed");
resolve();
}, 3000);
})
}
function two() {
console.log("second function executed");
}
one().then(two)
关于javascript - 在 Javascript 中一个接一个地执行 2 个函数的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43187870/