JavaScript 如何调用 Web API?

问题描述

据我所知,当我像 setTimeout 一样调用 web API 4 次时,JavaScript 的正常行为:

它应该调用一个,然后将其添加到队列中等待调用堆栈为空..重复它会对所有其他api执行相同的操作..所以第二个函数应该等到第一个执行然后开始被调用 .. 这意味着 第二个函数应该花费 2 秒或更长时间,然后 它应该花费第三个函数 3 秒或更长时间 ...依此类推。 ..


我错过了什么!?

setTimeOut javascript web api

解决方法

var TimeOutOnTimeOut = () => {
   setTimeout(() => {
       console.log("Like this!");
       TimeOutOnTimeOut();
    },3000);
};
    
TimeOutOnTimeOut();

他们会同时调用,但是,您可以在第一个完成后调用下一个。

,

注意:由于我无法添加评论,所以我发布了这个答案。

const sleep = (timeout) => {
    return new Promise((resolve,reject) => {
        setTimeout(() => {
            // perform some task here
            resolve(true);
        },timeout);
    });
};

async () => {
    // in asynchronous function
    await sleep(1000);
    // do something after code returns
};
// in global scope or synchronous
sleep(1000).then(() => {
    // callback
});

,

尝试使用异步等待并等待每个操作完成。

onAuthStateChanged