gpt4 book ai didi

Javascript Promise 和异步代码

转载 作者:行者123 更新时间:2023-11-28 14:57:42 24 4
gpt4 key购买 nike

我正在努力理解 js 中的异步和 promise 的概念。我不明白为什么下面的代码没有在我的控制台上打印任何内容。

我假设这是因为我的 Promise 中的代码不是异步的,但这不是 Promise 的重点:使同步的东西变成异步的吗?

如果不是这种情况,我如何才能真正将同步代码“转换”为异步代码而不使用任何内置的 js 函数(setTimeOut 等)?

function countdown(seconds) {
return new Promise(function(resolve, reject) {
for (let i = seconds; i >= 0; i--) {
if (i > 0) console.log(i + '...');
else resolve(console.log("GO!"));
}
}
};
count = countdown(5).then(() => console.log('Completed'), (err) => console.log(err.message));

最佳答案

how could I truly "transform" a sync code into async without using any built in js functions (setTimeOut,etc)?

本质上,JavaScript 代码是同步的 (等待抗议的呼声减弱) ...

每个(非 native )异步函数都归因于该函数

  1. 直接调用这些 native 异步函数之一,或者
  2. 调用其他函数,这些函数又调用函数等,最终直接调用这些异步函数之一

将某些代码从同步转换为异步的唯一方法是使用本质上异步的许多“ native ”函数之一(同样,直接或通过最终必须调用其中之一的其他函数间接)直接异步函数)

关于Javascript Promise 和异步代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42234538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com