亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

[前端問題]按鈕點的太快、日志打的太多、客戶網(wǎng)絡(luò)不明等 - 如何解決

Half / 476人閱讀

摘要:歸納為兩方面對服務(wù)器頻繁調(diào)用客戶體驗優(yōu)化網(wǎng)絡(luò)問題錯誤提醒對服務(wù)器頻繁調(diào)用對于現(xiàn)有的網(wǎng)站或普遍存在這些問題,這些問題對服務(wù)器的影響很大,對于處理復雜請求請求量過多的直接導致服務(wù)器癱瘓案例對大數(shù)據(jù)進行查詢報錯就上傳日志大家都在點提交遇到這些問題

歸納為兩方面: 對服務(wù)器頻繁調(diào)用、客戶體驗優(yōu)化(網(wǎng)絡(luò)問題/錯誤提醒)

對服務(wù)器頻繁調(diào)用

對于現(xiàn)有的網(wǎng)站或webapp普遍存在這些問題,這些問題對服務(wù)器的影響很大,對于處理復雜請求、請求量過多的直接導致服務(wù)器癱瘓

案例:

對大數(shù)據(jù)進行查詢

報錯就上傳日志

大家都在點提交

...

遇到這些問題,程序員比較頭疼,可能很多人意識到了問題,但卻不好解決,原因是會造成業(yè)務(wù)代碼混亂、測試難度較大、容易出bug等

客戶體驗優(yōu)化(網(wǎng)絡(luò)問題/錯誤提醒)

主要是圍繞網(wǎng)絡(luò)問題、錯誤提醒所要體現(xiàn)的客戶體驗優(yōu)化
案例:

客戶網(wǎng)絡(luò)不明,無法排查網(wǎng)絡(luò)問題

相同錯誤不要頻繁提醒客戶

...

如何解決

推薦 js-trigger,js-trigger是一個JavaScript觸發(fā)器插件,可通過指定頻次、指定時間內(nèi)觸發(fā)指定的處理函數(shù)

支持UMD(AMD/CMD/CommonJS/ESModule)

支持Node

支持Browser

使用場景:限制日志頻繁上傳、限制ajax頻繁調(diào)用、錯誤提醒、網(wǎng)絡(luò)狀態(tài)檢測等

js-trigger 案例

三種引入方式

import Trigger from "js-trigger"; //ES6引入

var Trigger = require("js-trigger").default; //ES5引入

window.Trigger; //browser引入

案例1:限制查詢按鈕頻次,條件是3s內(nèi)最多發(fā)一次請求

//創(chuàng)建一個觸發(fā)器
var trigger = Trigger.create({
    name: "限制查詢頻繁調(diào)用",
    //frequency: 5, //點擊5次觸發(fā)
    interval: 3,    //點擊超過3s觸發(fā),3s內(nèi)不觸發(fā)
    firstTrigger: true   //首次立刻觸發(fā)
});
var btnQuery = $("#btnQuery");
/**
 * 觸發(fā)器監(jiān)聽事件處理函數(shù)
 * @param {Object} state - 當前狀態(tài)
 * @param {number} handlerCounter - 觸發(fā)次數(shù)統(tǒng)計
 * @param {Date} startTime - 開始時間
 * @param {Date} endTime - 結(jié)束時間
 * @param {number} duration - 持續(xù)時長(ms)
 * @param {Object[]} data - 追加數(shù)據(jù),每次check進行傳入
 */
trigger.on(function(state){
   $.get("查詢數(shù)據(jù)api接口", function(res){
      //do something
   });
});

//點擊查詢事件
btnQuery.click(function(ev){
  //檢查觸發(fā)器,條件成立會即可觸發(fā)處理函數(shù)
  trigger.check("每次check傳入的數(shù)據(jù)");
});

案例2:上傳客戶網(wǎng)絡(luò)數(shù)據(jù),條件是30s內(nèi)或執(zhí)行10次內(nèi)最多上傳一次數(shù)據(jù)且最多觸發(fā)10次

//創(chuàng)建一個觸發(fā)器
var trigger = Trigger.create({
    interval: 30,    //超過30s觸發(fā)
    frequency: 10,   //點擊10次觸發(fā)
    maxHandlerFrequency: 10,  //最多觸發(fā)10次
    firstTrigger: true   //首次立刻觸發(fā)
});

/**
 * 觸發(fā)器監(jiān)聽事件處理函數(shù)
 * @param {Object} state - 當前狀態(tài)
 * @param {number} handlerCounter - 觸發(fā)次數(shù)統(tǒng)計
 * @param {Date} startTime - 開始時間
 * @param {Date} endTime - 結(jié)束時間
 * @param {number} duration - 持續(xù)時長(ms)
 * @param {Object[]} data - 追加數(shù)據(jù),每次check進行傳入
 */
trigger.on(function(state){
   //do something
});

//每秒檢測網(wǎng)絡(luò)
setTimeout(function(){
    //檢測網(wǎng)絡(luò)
    checkNetwork(function(data){
      //檢查觸發(fā)器,條件成立會即可觸發(fā)處理函數(shù)
      trigger.check();
    });   
}, 1000);
js-trigger相關(guān)地址

主頁面
文檔
測試頁面

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/88621.html

相關(guān)文章

  • 請給公有云多些成長空間

    最近公有云不夠太平,在阿里云故障、AWS故障、谷歌云故障之后,騰訊云也掛了……,幾大公有云頻頻出現(xiàn)故障,一時讓很多上云的小伙伴們無從選擇,還能有靠譜點的嗎?其實,關(guān)于公有云的故障,早就引起了很多不滿,一度成為人們上云的最大障礙。這些都是公有云里的大牌,市場地位顯赫,技術(shù)過硬,也是不差錢的金主,但仍逃不過故障的魔掌,其它的公有云就更不用提了,只是市場份額不大,出了故障也不像這幾個更受人們關(guān)注罷了。這...

    jayce 評論0 收藏0
  • 來聊聊react-native應(yīng)用的健康監(jiān)控

    監(jiān)控什么 今天我們來聊聊如何監(jiān)控你的應(yīng)用程序,這里的監(jiān)控說的不是讓我們?nèi)ケO(jiān)控用戶,而是監(jiān)控應(yīng)用的健康狀態(tài),什么是健康狀態(tài)呢?對于后端的同學來說,在微服務(wù)的架構(gòu)下,每個子服務(wù)是否正常工作、返回的結(jié)果是否滿足預期,這些就算是健康狀態(tài),再舉個例子,你的臺式機,對于操作系統(tǒng)來說,每個硬件是否能正常的工作、工作的穩(wěn)定性,這些都是需要關(guān)注的健康狀態(tài)。 既然我們關(guān)心健康狀態(tài),那么我們該如何衡量一個設(shè)備的健康狀態(tài)...

    tunny 評論0 收藏0
  • Node.js + ELK 日志規(guī)范

    摘要:日志規(guī)范一般前端開發(fā)同學,對日志其實不太敏感,畢竟前端大多數(shù)情況下,不太關(guān)心日志。本文主要梳理了目前我們團隊在開發(fā)中日志方面存在的問題,以及通過統(tǒng)一日志規(guī)范,希望達到什么樣的效果。日志格式字段日志格式統(tǒng)一采用,便于解析處理。nodejs 日志規(guī)范 一般前端開發(fā)同學,對日志其實不太敏感,畢竟前端大多數(shù)情況下,不太關(guān)心日志。即使有,也可能調(diào)用一些第三方的統(tǒng)計,比如百度統(tǒng)計或者別的等。在 Node...

    tuomao 評論0 收藏0
  • DataX在有贊大數(shù)據(jù)平臺的實踐

    摘要:與大數(shù)據(jù)體系交互上報運行統(tǒng)計數(shù)據(jù)自帶了運行結(jié)果的統(tǒng)計數(shù)據(jù),我們希望把這些統(tǒng)計數(shù)據(jù)上報到元數(shù)據(jù)系統(tǒng),作為的過程元數(shù)據(jù)存儲下來?;谖覀兊拈_發(fā)策略,不要把有贊元數(shù)據(jù)系統(tǒng)的嵌入源碼,而是在之外獲取,截取出打印的統(tǒng)計信息再上報。一、需求 有贊大數(shù)據(jù)技術(shù)應(yīng)用的早期,我們使用 Sqoop 作為數(shù)據(jù)同步工具,滿足了 MySQL 與 Hive 之間數(shù)據(jù)同步的日常開發(fā)需求。 隨著公司業(yè)務(wù)發(fā)展,數(shù)據(jù)同步的場景越...

    JerryWangSAP 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<