Салават Asked:2022-08-24 19:33:56 +0000 UTC2022-08-24 19:33:56 +0000 UTC 2022-08-24 19:33:56 +0000 UTC 我不太明白回调在 JavaScript 中是如何工作的 772 尝试回调,我在代码中发现了以下内容: function doSomething(subject, callback) { setTimeout(() => {console.log(`Hi, ${subject}`);}, 3000); callback(); } doSomething('John', function() { console.log('Finish'); }); 我设置了setTimeout,假设这 3 秒会先用完,然后才会执行calback()函数。但是,我的Finish早于Hi, John显示。为什么会这样? javascript 1 个回答 Voted Best Answer Алексей Шиманский 2022-08-24T19:34:53Z2022-08-24T19:34:53Z 为什么会这样? 因为它是setTimeout一个异步函数。它与回调无关。 如果写一个字符串而不是 timeout 是微不足道的console.log(1+2),那么它将首先执行,然后是回调
因为它是
setTimeout一个异步函数。它与回调无关。如果写一个字符串而不是 timeout 是微不足道的
console.log(1+2),那么它将首先执行,然后是回调