北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

我终于搞懂了async/await、promise和setTimeout的执行顺序

从一道题目出发

今天看到一道面试题,是关于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');
复制代码

前端轮询时,如何“智能”地调整请求间隔?

轮询(Polling)是一种长久而有效的技术,用于从服务器获取最新数据,例如订单状态、消息通知、实时报表等。最简单的实现方式是使用

JavaScript事件循环机制:为什么你的代码先执行或后执行?

各位朋友!你有没有过这样的经历:明明代码看起来没毛病,逻辑也对,可运行起来就是“出乎意料”?比如,你设置了一个定时器让它1秒后执行,结果发现另一段看起来在它“后面”的代码反而先跑完了;又或者,你想用网络请求获取数据,结果数据还没回来,后面的代码已经因为缺少数据报错了。是不是瞬间有种“我的代码怎么不听话了?”的抓狂感?这种“不听话”的背后,通常都指向JavaScript里一个非常核心、却又常常被忽视的机制——

《别再用 disabled 了!前端大神都在用的防重复点击技巧》

1. 业务背景

在前端的业务场景中:点击按钮,发起请求。在请求还未结束的时候,一个按钮可以重复点击,导致接口重新请求多次(如果后端不做限制)。轻则浪费服务器资源,重则业务逻辑错误,尤其是入库操作。

传统解决方案:使用防抖函数,但是无法解决接口响应时间过长的问题,当接口一旦响应时间超过防抖时间,测试单身20年的手速照样还是可以点击多次。

不要太相信 setInterval!我被它给坑得好惨!

最近组员遇到了一个 BUG,我们的需求是这样的:前端需要通过轮询的方式,每隔一段时间去做一些逻辑处理,并向后端发送请求上报

Node.js实战6:定时器,使用timer延迟执行

setTimeout

在nodejs中,通过setTimeout函数可以达到延迟执行的效果,这个函数也常被称为定时器。

一个简单的例子:

console.log( (new Date()).getSeconds() );
setTimeout(function(){

 console.log( (new Date()).getSeconds() );
 console.log("hello world");
 
//延迟一秒执行
},1000);

JavaScript事件循环与异步(js的异步事件循环机制)

概述

JavaScript是单线程的,意味着它按单一序列执行代码。但多亏了事件循环和异步特性如setTimeout、Promises和async/await,它可以处理I/O操作、定时器和HTTP请求等任务而不会阻塞执行。

手把手教你制作智能桌宠(小可爱哦!)

大家曾经记忆里的回忆,是不是腾讯企鹅的。它又萌又可爱,如图:

但是我们多么想制作一款自己的智能宠物啊,今天我们就将带你手把手制作桌宠。最主要的是文末我将给出源代码哦!大家可以DIY设计自己专属的桌面宠物和其智能功能。

其特点之一:

会运动,还会变身:

特点之二:会说话聊天

特点之三:

右键多功能性(可语音控制,连接WiFi等,最主要学完这篇文章之后可以自己添加功能):

setTimeout和setImmediate到底谁先执行

笔者以前面试的时候经常遇到写一堆setTimeout,setImmediate来问哪个先执行。本文主要就是来讲这个问题的,但是不是简单的讲讲哪个先,哪个后。笼统的知道setImmediate比setTimeout(fn, 0)先执行是不够的,因为有些情况下setTimeout(fn, 0)是会比setImmediate先执行的。要彻底搞明白这个问题,我们需要系统的学习JS的异步机制和底层原理。本文就会从异步基本概念出发,一直讲到Event Loop的底层原理,让你彻底搞懂setTimeout,setImmediate,Promise, process.nextTick谁先谁后这一类问题。

什么?你的 interval 定时器并不靠谱?

前言

彦祖们,前端开发中对于 setTimeout setInterval 一定用得烂熟于心了吧?

但你知道你的定时器并没那么靠谱吗?

本文涉及技术栈(非必要)

  • vue2

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言