RSS

博客

不太想横向写文,想写一个自己的内容网站,我可能会选用纵向来排版
我有一些癖好,我喜欢出力为了自己喜欢的东西,尤其是想写的软件,听着音乐,然后写起来,其实是很放松的感觉,太喜欢了
关于健康, 我感觉有些身体不适
用力呼吸
移动硬盘安装刷winpe系统的方法
不伤数据,使用移动硬盘单独分区作为winpe系统盘,以便需要时使用
刷了几个算法题目,顺便走一下理解,看到有些实现的例子代码
图和二叉树遍历
作为原生js的熟练者,如何快速掌握react, react 探索和实践
react-js, react-dom, jsx,
如何写好单元测试
一个方法: 成功的返回值; 失败的不同情况会出现的返回值.
Golang, 许久不用之后再次复习,简单用法,回顾
再次复习golang
OBS Studio 录屏幕软件小探, 剪映软件剪辑视频, 添加旁白语音
使用obs的一点常见问题探索, 剪辑软件的使用, 旁白的后续添加
最后查看工作流思考了蛮久,还是决定要自己做一个流程引擎画图和后台
流程图画图使用canvas, 而后台设计一下传递消息的任务序列
说一下感想吧,关于js的ajax queue

我在许多年前写了一个ajax queue, 但是最近想再写一次,结果因为看了promise的代码,这次的实现居然跑偏了, Js的ajax这是个异步操作,它是不会阻塞正常的代码的,但是如果换成while的形式,这就会阻塞代码的执行了,卡顿说不上,但是会阻塞,仔细想了下,得出的结论是, js在ajax的回调那里其实已经分割成了两个处理机,一个是本地浏览器的正常js代码,另外一个是服务端回调的js的调用者, 它们两方其实不是一个东西了,就是后台何时返回所有的ajax请求都是不知道哪个快哪个慢的,但是快的回来的会执行对应的回调, 所以浏览器js这里只能写一个ajax的调用,而不应该用循环会阻塞, 如果仅仅有调用ajax的代码,那么这段代码它就马上执行过去了不会阻塞,所以要写一个不阻塞代码执行的ajax queue, 检查队列的时候也不能用循环,而只是正常的一次检查,然后,检查下一个的时候应该在ajax的回调里面再去检查,这样两个就能接力起来,不会阻塞代码的执行,这里可以用自己调用自己,形式类似于:

func queue(req){

queue.q=[]

if(req){q.push(req)}

if(q.len>0){

req=q.shift();

ajax(req,function(){

req.callback(),

queue();//再次shift下一个,然后, 重新发送ajax,这种形式应该不会阻塞,不停调用queue方法会不停向q中添加请求,最后会一个一个按次执行

})