JavaScript
文章平均质量分 89
躁动de气球
这个作者很懒,什么都没留下…
展开
-
借助302转发规避长耗时接口的连接超时问题
结合任务id的思想, 经过改造, 客户端发送的一个POST请求会被服务器拆解为 1个POST请求+N个GET请求, N大于等于0;这1+N个请求被浏览器的fetch内部屏蔽,js层面认为只发送并接收了一个POST请求, 进而实现了客户端代码的0改造.原创 2023-11-09 15:12:26 · 109 阅读 · 0 评论 -
解决EventSource触发的浏览器并发量限制问题
SSE方案下如果解决浏览器连接数限制原创 2023-07-21 11:05:55 · 2032 阅读 · 0 评论 -
nginx proxy_pass计算逻辑的模拟代码
nginx proxy_pass计算逻辑的模拟代码现象nginx配置文件中proxy_pass转发用的比较多,且容易出现混淆,最常见的是对配置中结尾斜杠(/)的处理,结合 此文 提到的一些知识点, 整理成JS代码方便自己理解和记忆.知识点location /api1/ { proxy_pass http://localhost:8080;}//记录为location A { proxy_pass B;}A, 对应/api1/, 为location的匹配路径, 一般都是/开头的原创 2020-07-07 19:46:51 · 209 阅读 · 0 评论 -
Promise及其使用
Promise及其使用为何需要PromisePromise的提出是为了解决异步场景这个领域的问题. 这个首先说明下目前JS在处理异步时有哪些问题, 然后给出Promise处理这些问题的方案.为何需要异步事件驱动传统的异步处理方案回调方式 callback多线程(非JS)CallBack方案存在的问题回调金字塔格式定义不统一(风格)异步语法(风格)控制权(控制反转...原创 2020-03-30 10:41:40 · 154 阅读 · 0 评论 -
JS中TypedArray的map方法
JS中TypedArray的map方法项目中遇到Int16Array经过转换得到常规Array的场景,最初尝试使用map方法转出目标数组.// 场景: TypedArray ---> Array测试发现Int16Array.prototype.map始终返回Int16Array,没有得到想要的Array,如下:var a = new Int16Array([1,2,3,4]);...原创 2019-06-28 16:57:39 · 266 阅读 · 0 评论 -
使用webpack-dev-server时NodeJS可用内存配置调整
使用webpack-dev-server时NodeJS可用内存配置调整现象使用webpack-dev-server开发时内存可能占用比较多,导致部分场景下内存溢出而退出.<--- Last few GCs ---> ...原创 2019-06-18 14:23:24 · 5371 阅读 · 0 评论 -
基于临时授权方式的OSS上传
基于临时授权方式的OSS上传OSS支持临时授权URL,可以实现临时性的上传和下载,此处介绍一下如何在项目中使用。 对应场景:客户端需要上传文件,但不想或不方便将accessKeyId和accessKeySecret下发到客户端,或者无法继承OSS-SDK的情况。 具体上传仍旧是客户端与OSS服务器之间直接进行. 应用的理论核心是OSS提供的”在URL中包含签名”,参考这里实现思路...原创 2018-08-31 16:07:55 · 4455 阅读 · 0 评论 -
Fetch下的PUT文件上传
浏览器中常见的文件上传方式(POST)由于form表单仅支持GET和POST两种请求模式,过往常见的文件上传方式使用的是POST。具体的用法是给form表单设置 enctype=“multipart/form-data”(体现 在请求头Content-Type中)。 这种方式下文件内容被加工后封装在请求体里,通过特定的字符串(也记录在请求头Content-Type中)分隔开请求参数和文件内容,服务原创 2017-01-13 10:27:39 · 7002 阅读 · 0 评论 -
Node.js环境中使用GBK编码
NodeJS环境中使用GBK编码Node默认支持的编码格式Node中的Buffer对象支持以下编码(以6.9.1版本为例):参考API[https://npm.taobao.org/mirrors/node/latest/docs/api/buffer.html#buffer_buffers_and_character_encodings] * ascii :7-bit ASCII data,舍原创 2016-10-25 13:34:39 · 18180 阅读 · 1 评论 -
Node.js中的setImmediate()与process.nextTick
Node.js中的setImmediate()与process.nextTick简单说,process.nextTick是在当前代码执行完毕后立即执行,setImmediate是加入到轮询,空闲后立即执行. 测试结论:process.nextTick >> setTimeout(handler,0) , setImmediate >> setTimeout(handler, n)原创 2016-05-18 13:29:32 · 1289 阅读 · 0 评论 -
JavaScript中Array.prototype.map使用的一个注意事项
首先看一段JS代码:console.log(Array(10).map(function(){return "A"}));有人会任务这行代码将输出10个A. 实际上它输出的是一个空数组,也就是说下面代码是成立的Array(10).map(function(){return "A"}).join("") === ""看上去map没有生效,针对这个原因找了一下Array.prototy原创 2014-12-31 10:49:39 · 1587 阅读 · 1 评论 -
JavaScript都生活在哪些地方
JavaScript在近些年变得远远比原创 2014-10-21 11:31:54 · 638 阅读 · 0 评论 -
不经过for循环的按位输出
场景:有一个安位记录用户标志位开关存储,要求输出成“on"和”off“组成的字符串列表@input: 12@output: "on", "on", "off", "off"常见方法: for循环一下,安位获取,位比较,将结果push到数组中这里记录一个特殊实现,利用QString中的数字进制转换,将数字已2进制存成字符串,少做替换即可Qt:QStri原创 2013-04-09 21:01:14 · 749 阅读 · 1 评论 -
jshint处理GBK编码文件的问题
使用jshint校验js文件,很不幸的,项目采用GBK编码组织js文件,原创 2014-10-21 16:58:33 · 1371 阅读 · 0 评论 -
缤纷彩带 strata 解答过程分析
strata是一款很不错的小Game,音效和动画都很赞。不过5*5的解答确实要耗一些脑筋,这里采用JS实现了一个较完整的解答器。介绍如下。先说下思路:strata这个游戏最大的特点就是彩带的重叠问题,它只考虑最上层的颜色而不考虑底层被遮盖的颜色。这样的话反向考虑,通过逆向思维不难将最上面的一层层剥去,化繁为简。一层叠一层,其实关键的点是每个点上的颜色,首先考虑下面这种,原创 2014-01-06 21:54:57 · 982 阅读 · 0 评论 -
QtScript JavaScript比较
QtScript JavaScript比较最近测试Qt Application程序的脚本化以及与Webview的混合编程,结合原来的JavaScript集成比较了一下QtScript的实现.在比较两者异同的过程中看到了原来接触过的Node.js,于是一并复习.下面结合三者的异同说下ECMAScript,也算是近期对《Node.js开发指南》这本书的一个读书总结。JavaScri原创 2014-09-03 15:07:46 · 1936 阅读 · 0 评论 -
JavaScript对函数的扫描过程
JavaScript对变量的提升声明是大家都知道的,即:无论在函数内部的原创 2014-09-26 11:50:10 · 565 阅读 · 0 评论