240 發(fā)簡(jiǎn)信
IP屬地:河南
  • 基礎(chǔ)運(yùn)維常用命令

    timedatectl set-timezone Asia/Shanghai # 服務(wù)器時(shí)區(qū)設(shè)置 linux for Debian nginx mysql redis...

  • 120
    前端代碼規(guī)范

    CodeGuide 前端代碼規(guī)范 JavaScript 使用 2 個(gè)空格縮進(jìn)衷旅。eslint: indent[https://eslint.org/docs/rules/ind...

  • GIT規(guī)范

    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)擊群...

  • 120
    HTTPS 加密原理

    為什么需要加密? HTTP 有以下安全性問(wèn)題: 使用明文進(jìn)行通信鼓蜒,內(nèi)容可能會(huì)被竊聽(tīng)痹换; 不驗(yàn)證通信方的身份征字,通信方的身份有可能遭遇偽裝; 無(wú)法證明報(bào)文的完整性娇豫,報(bào)文有可能遭篡改...

  • 小程序虛擬滑動(dòng)序組件 Virtual Swiper

    小程序虛擬滑動(dòng)序組件 Virtual Swiper 在 Swiper 組件上層 封裝 Virtual Swiper匙姜,原理通 Swiper virtual slide[http...

  • 小程序拖拽排序組件 Drag

    仿發(fā)朋友圈,圖片拖拽排序功能冯痢,小程序拖拽排序組件 效果演示 地址:https://github.com/yijinc/fishui[https://github.com/yi...

  • 小程序 scroll-view 下拉到底部 onScrollToLower 不觸發(fā)

    滑動(dòng)過(guò)快氮昧,或頁(yè)面列表元素高度還沒(méi)渲染出來(lái),可能導(dǎo)致 scroll-view 的 scrollToLower 不觸發(fā) 特別是在部分安卓手機(jī)上浦楣,scroll-view 滾動(dòng)速度可...

  • MacOS解決too many open files

    1. 先用以下命令查看當(dāng)前的限制 launchctl limit 會(huì)看到如下的結(jié)果袖肥,也就是各項(xiàng)資源的限制 第一列為項(xiàng)的名稱(chēng),第二列為軟件限制振劳,第三列為硬件限制 2. 修改to...

  • 前端需要掌握的Linux命令

    認(rèn)識(shí) BASH 這個(gè)shell 通過(guò) man 查看 command 的使用說(shuō)明書(shū)(manual pages)椎组,通常從 /usr/share/man 讀取 環(huán)境變量 $PATH...

  • 完全理解 Promise 實(shí)現(xiàn)

    完全理解 Promise 基本實(shí)現(xiàn) 網(wǎng)上有很多 Promise 實(shí)現(xiàn)方式,看了都不是特別理解澎迎。這里以一種更簡(jiǎn)單的形式一步一步去理解/實(shí)現(xiàn)它庐杨。這里僅涉及 Promise 構(gòu)造函...

  • HTTP之跨域

    跨源資源共享 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)擊群...

  • 筆試題:調(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)擊群...

  • 在下讀書(shū)少??

    img onload 不觸發(fā),img onload 不執(zhí)行

    在做多圖大圖頁(yè)面的時(shí)候匪凉,經(jīng)常需要先loading枪眉,等待image.onload 才放開(kāi)loading,但是img.onload在圖片從緩存/內(nèi)存直接讀取的時(shí)候再层,部分瀏覽器如s...

  • 120
    最簡(jiǎn)單的SVG圖標(biāo)庫(kù)贸铜,搭建自己的圖標(biāo)庫(kù)

    最簡(jiǎn)單的SVG圖標(biāo)庫(kù),只支持color 和 size 兩個(gè)屬性直接添加 svg文件聂受,生成react 蒿秦、vue、vue3蛋济、svg 對(duì)應(yīng)組件 github項(xiàng)目地址[https:/...

  • img onload 不觸發(fā)棍鳖,img onload 不執(zhí)行

    在做多圖大圖頁(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...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品