0
ここでは、Ajaxアクション中に複数のリクエストを防止する一般的な解決方法を示します。副作用を導入せずに複数のAjaxリクエスタを防ぐ方法
let isRequesting = false
$('#fetch').on('click',() => {
if(isRequesting) {
console.log('ajax still in progress, please wait')
return false
}
isRequesting = true
$.get(SOME_RESOURCE, (data) => {
console.log('success with :', data)
isRequesting = false
})
})
しかし、機能プログラムと同じように、私のアプリケーションの状態を変更することなく、この作業を終了するにはどうすればいいですか?
個人的には、通常、クリックイベントの開始時にボタン/リンクを無効にして、成功/失敗のコールバックの終了時に有効にします。ほとんどの場合、これはユーザーにとって明確です。 – Obversity
FPの目的は、不要な状態を排除し、合理的な方法で必要な状態を管理することです。この特定のシナリオでは、必要な状態を処理しています。コードが「準備完了」状態であるか「ロード中」状態であるかによって、コードが異なるように機能します。 – MarkNFI