JavaScript 区分**宏任务(MacroTask)和
2025年07月21日
复制以下内容至文本文件,修改文件后缀txt为html,即可使用。
<!DOCTYPE html>
<html lang="zh-CN">
2025年07月21日
今天看到一道面试题,是关于async/await、promise和setTimeout的执行顺序,题目如下:
async function async1() {
console.log('async1 start');
await async2();
console.log('asnyc1 end');
}
async function async2() {
console.log('async2');
}
console.log('script start');
setTimeout(() => {
console.log('setTimeOut');
}, 0);
async1();
new Promise(function (reslove) {
console.log('promise1');
reslove();
}).then(function () {
console.log('promise2');
})
console.log('script end');
复制代码
2025年07月21日
各位朋友!你有没有过这样的经历:明明代码看起来没毛病,逻辑也对,可运行起来就是“出乎意料”?比如,你设置了一个定时器让它1秒后执行,结果发现另一段看起来在它“后面”的代码反而先跑完了;又或者,你想用网络请求获取数据,结果数据还没回来,后面的代码已经因为缺少数据报错了。是不是瞬间有种“我的代码怎么不听话了?”的抓狂感?这种“不听话”的背后,通常都指向JavaScript里一个非常核心、却又常常被忽视的机制——
2025年07月21日
在前端的业务场景中:点击按钮,发起请求。在请求还未结束的时候,一个按钮可以重复点击,导致接口重新请求多次(如果后端不做限制)。轻则浪费服务器资源,重则业务逻辑错误,尤其是入库操作。
传统解决方案:使用防抖函数,但是无法解决接口响应时间过长的问题,当接口一旦响应时间超过防抖时间,测试单身20年的手速照样还是可以点击多次。
2025年07月21日
最近组员遇到了一个 BUG,我们的需求是这样的:前端需要通过轮询的方式,每隔一段时间去做一些逻辑处理,并向后端发送请求上报
2025年07月21日
在nodejs中,通过setTimeout函数可以达到延迟执行的效果,这个函数也常被称为定时器。
一个简单的例子:
console.log( (new Date()).getSeconds() ); setTimeout(function(){ console.log( (new Date()).getSeconds() ); console.log("hello world"); //延迟一秒执行 },1000);
2025年07月21日
JavaScript是单线程的,意味着它按单一序列执行代码。但多亏了事件循环和异步特性如setTimeout、Promises和async/await,它可以处理I/O操作、定时器和HTTP请求等任务而不会阻塞执行。
2025年07月21日
大家曾经记忆里的回忆,是不是腾讯企鹅的。它又萌又可爱,如图:
但是我们多么想制作一款自己的智能宠物啊,今天我们就将带你手把手制作桌宠。最主要的是文末我将给出源代码哦!大家可以DIY设计自己专属的桌面宠物和其智能功能。
其特点之一:
会运动,还会变身:
特点之二:会说话聊天
特点之三:
右键多功能性(可语音控制,连接WiFi等,最主要学完这篇文章之后可以自己添加功能):