timedatectl set-timezone Asia/Shanghai # 服務(wù)器時(shí)區(qū)設(shè)置 linux for Debian nginx mysql redis...
timedatectl set-timezone Asia/Shanghai # 服務(wù)器時(shí)區(qū)設(shè)置 linux for Debian nginx mysql redis...
CodeGuide 前端代碼規(guī)范 JavaScript 使用 2 個(gè)空格縮進(jìn)衷旅。eslint: indent[https://eslint.org/docs/rules/ind...
GIT 規(guī)范 合并規(guī)范 為適應(yīng)多個(gè)feature同時(shí)并行交錯(cuò)開(kāi)發(fā)铺根,做到每個(gè) feature 獨(dú)立干凈、合并的代碼不被意外覆蓋罐旗,這里有幾個(gè)良好的代碼合并習(xí)慣(規(guī)范)供大家參考膳汪,...
@5d9861e7a727
let count = 0;
const taskQueue = [];
/**
* @param uid uid
* @param max 最多并發(fā)請(qǐng)求數(shù)量
*/
const requestUserProfile = (uid = '1', max = 2) => {
const pullTask = () => {
if (taskQueue.length === 0) {
return;
}
if (count === max) {
return;
}
count++;
const { resolve, uid } = taskQueue.shift();
resolve(runTask(uid));
};
const runTask = (id) => {
const promise = requestProfile(id);
promise.then(() => {
count--;
pullTask();
});
return promise;
};
return new Promise((resolve) => {
taskQueue.push({ resolve, uid });
if (count < max) {
count++;
const { resolve, uid } = taskQueue.shift();
resolve(runTask(uid));
}
});
};
筆試題:調(diào)用接口并發(fā)請(qǐng)求控制優(yōu)化 requestUserProfile 并發(fā)請(qǐng)求 requestUserProfile 是個(gè)通用用戶(hù)信息接口,通過(guò)傳入uid九秀,拿用戶(hù)昵稱(chēng)在一個(gè)群聊里有10多個(gè)用戶(hù)遗嗽,點(diǎn)擊群...
為什么需要加密? HTTP 有以下安全性問(wèn)題: 使用明文進(jìn)行通信鼓蜒,內(nèi)容可能會(huì)被竊聽(tīng)痹换; 不驗(yàn)證通信方的身份征字,通信方的身份有可能遭遇偽裝; 無(wú)法證明報(bào)文的完整性娇豫,報(bào)文有可能遭篡改...
仿發(fā)朋友圈,圖片拖拽排序功能冯痢,小程序拖拽排序組件 效果演示 地址:https://github.com/yijinc/fishui[https://github.com/yi...
滑動(dòng)過(guò)快氮昧,或頁(yè)面列表元素高度還沒(méi)渲染出來(lái),可能導(dǎo)致 scroll-view 的 scrollToLower 不觸發(fā) 特別是在部分安卓手機(jī)上浦楣,scroll-view 滾動(dòng)速度可...
1. 先用以下命令查看當(dāng)前的限制 launchctl limit 會(huì)看到如下的結(jié)果袖肥,也就是各項(xiàng)資源的限制 第一列為項(xiàng)的名稱(chēng),第二列為軟件限制振劳,第三列為硬件限制 2. 修改to...
認(rèn)識(shí) BASH 這個(gè)shell 通過(guò) man 查看 command 的使用說(shuō)明書(shū)(manual pages)椎组,通常從 /usr/share/man 讀取 環(huán)境變量 $PATH...
完全理解 Promise 基本實(shí)現(xiàn) 網(wǎng)上有很多 Promise 實(shí)現(xiàn)方式,看了都不是特別理解澎迎。這里以一種更簡(jiǎn)單的形式一步一步去理解/實(shí)現(xiàn)它庐杨。這里僅涉及 Promise 構(gòu)造函...
跨源資源共享 CORS 跨源資源共享(Cross-Origin Resource Sharing)是一種基于 HTTP 頭的機(jī)制。出于安全性夹供,瀏覽器限制腳本內(nèi)發(fā)起的跨域請(qǐng)求灵份,...
```ts
let count = 0;
const memo = {};
/**
* @param uid uid
* @param max 最多并發(fā)請(qǐng)求數(shù)量
*/
const requestUserProfile = async (uid = '1', max = 2) => {
// 這里調(diào)用requestProfile 進(jìn)行優(yōu)化
let timer;
const loopRequestProfile = (resolve: any) => {
timer && cancelAnimationFrame(timer);
if (memo[uid]) {
return resolve(memo[uid])
}
if (max > count) {
count += 1;
requestProfile(uid).then((data) => {
count -= 1;
memo[uid] = data;
resolve(data);
});
} else {
// 循壞調(diào)用 loopRequestProfile 直到 count < max
timer = requestAnimationFrame(() => {
loopRequestProfile(resolve);
});
}
};
return new Promise(loopRequestProfile);
}
```
筆試題:調(diào)用接口并發(fā)請(qǐng)求控制優(yōu)化 requestUserProfile 并發(fā)請(qǐng)求 requestUserProfile 是個(gè)通用用戶(hù)信息接口,通過(guò)傳入uid哮洽,拿用戶(hù)昵稱(chēng)在一個(gè)群聊里有10多個(gè)用戶(hù)填渠,點(diǎn)擊群...
優(yōu)化 requestUserProfile 并發(fā)請(qǐng)求 requestUserProfile 是個(gè)通用用戶(hù)信息接口,通過(guò)傳入uid鸟辅,拿用戶(hù)昵稱(chēng)在一個(gè)群聊里有10多個(gè)用戶(hù)氛什,點(diǎn)擊群...
在下讀書(shū)少??
img onload 不觸發(fā),img onload 不執(zhí)行在做多圖大圖頁(yè)面的時(shí)候匪凉,經(jīng)常需要先loading枪眉,等待image.onload 才放開(kāi)loading,但是img.onload在圖片從緩存/內(nèi)存直接讀取的時(shí)候再层,部分瀏覽器如s...
最簡(jiǎn)單的SVG圖標(biāo)庫(kù),只支持color 和 size 兩個(gè)屬性直接添加 svg文件聂受,生成react 蒿秦、vue、vue3蛋济、svg 對(duì)應(yīng)組件 github項(xiàng)目地址[https:/...
在做多圖大圖頁(yè)面的時(shí)候,經(jīng)常需要先loading碗旅,等待image.onload 才放開(kāi)loading渡处,但是img.onload在圖片從緩存/內(nèi)存直接讀取的時(shí)候镜悉,部分瀏覽器如s...
ES6日常語(yǔ)法:let、const骂蓖、解構(gòu)復(fù)制积瞒、箭頭函數(shù)、字符串模版登下、塊級(jí)茫孔、Map、Set被芳、Proxy Array日常方法:Array.prototype.map缰贝、reduce...