問題タブ [debouncing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
9967 参照

javascript - javascriptでデバウンスされた関数から値を返す方法は?

私はそのようなコードを持っています:

(コードペン リンク)

コンソールの結果は次のとおりです。

ご覧のとおり、デバウンスされた関数は何も返しません。デバウンスされた関数の内部タイマーが原因であることは理解していますが、そのあたりはありますか?

0 投票する
1 に答える
110 参照

node.js - nodejsでシリアルコマンドをデバウンスしますか?

ノーブル (シリアル サービスを備えた BLE デバイスと通信) を介して nodejs プログラムにコマンドを供給する何かがあり、デバウンス/スムーズを少し書きたいと思います。たとえば、次のようになります。

「[x-command] が [x-mills] の下で 2 回以上発生した場合、フラグを true に設定します。」

これを行うにはどのような方法がありますか?つまり、サンプルに配列を使用しますか? タイムアウトを書く?等

0 投票する
1 に答える
1153 参照

javascript - デバウンス機能は、マウスホイールの e.preventDefault が機能しなくなったことを意味します

マウスホイールを使用してページの背景を変更しています。マウスホイール イベントを 1000 ミリ秒に 1 回だけトリガーしたいので、そのためにデバウンス機能を使用しています。

デバウンス機能を追加して使用する前はe.preventDefault()、スクロールが機能しませんでした。ただし、デバウンス機能を追加したため、これは機能しなくなり、ユーザーはページを再度スクロールできます。

以下のコードを参照してください。

0 投票する
1 に答える
117 参照

javascript - javascriptでライブオブジェクトの作成と部分的なティアダウンの管理はどのように機能しますか?

私がやりたいのは、javascript をロードしてオブジェクトにメソッドのライブラリを作成し、オブジェクトが実際に定義またはコンパイルされる前に、そのオブジェクトが初めて使用されるまで待機することです。このオブジェクトが実際に完全に定義される前に、このオブジェクトへの参照を作成したいと考えています。オブジェクトのメソッドが定義される前に初めてこのオブジェクトのメソッドを呼び出すとき (つまり、オブジェクトに実際にはメソッドがないことを意味します)、オブジェクトを定義してからメソッドを呼び出したいと思います。オブジェクトで「sayHello()」がまだ定義されていない場合、「MyLibrary.sayHello()」などの標準構文を使用してこれを行う方法はありますか。次のようになると思います。

これは単なる疑似コードです。クリーンアップにメソッドを追加すると、そのオブジェクトを "{**handleAll:function(){/ noContext " の初期化されていない状態に戻すことができます/}}」。私のアプリケーション/ライブラリには、このようにスタブとリンクがあり、未定義の状態からすぐに使用できます。モジュールを構築するときに、これはユーティリティへの参照の数を減らすために役立ちます。機能のメニューとそれらの機能はすべての投稿で共有されます -- ここで説明されているようなメカニズムでは、「アクティブな投稿」/「フォーカスされた投稿」のみがユーティリティを参照します。 -activate modules. 特別な部分は、モジュールが既にウォームアップされており、まだ参照されていなくても関数を呼び出す準備ができていることです。これはライブ バインディングに似ていますが、ユーザー インターフェイス全体を既にスタブ化された関数で定義することができます。それらが使用可能になったときの正確な名前で出力します。デフォルトとデバウンスの制御メカニズムは、このモデルで簡単に見つけることができます。

私の質問は次のとおりです。このタイプのスクリプトはネイティブで可能ですか、それとも TypeScript、CoffeeScript などの何らかの形式のコンパイルを使用する必要がありますか。呼び出したいメソッドをパラメーターとしてシングルトンファクトリーに渡せば可能だと理解しています。最終的には、コードを汚染することなく、使用されていない機能を適切に低下させることができるアプリケーション全体が必要です。

汚染とは:

0 投票する
1 に答える
466 参照

arduino - 簡単なプログラム: 押されたボタンの継続時間と時間を送信する方法は?

GPIO13(およびグランド)に接続されたマイクロスイッチを備えたESP8266 ESP-12Eがあります。

ボタンを押している時間と、ESP8266 の開始からボタンが押されるまでの時間のカウントを送信します (できれば HTTP POST を使用しますが、選択が悪い場合は別のものを受け入れます)。

これまでにコーディングしたものは次のとおりです。

ただし、ボタンをもう一度押す前にリクエストが完了するのを待つ必要があるため、私のコードは間違っています。

割り込みを使用していくつかの配列を配置することdurationを考えています。startTime

その後、配列に新しいクリックが含まれているかどうかを継続的に確認し、それらをサーバーに送信できます。

しかし、それがうまくいくかどうかはわかりませんし、一般的にArduino / Cの経験が少なすぎます。どんな助けでも大歓迎です。

0 投票する
0 に答える
42 参照

android - サンプリングされているオブザーバブルはイベントであふれています

Android でスライダーの出力をサンプリングしようとしています。

セットアップは次のとおりです。 PublishSubject mSubjTrim。スライダーの OnTouchEvent で、mSubjTrim.onNext(progress) を呼び出します。

mSubjTrim からオブザーバブルを作成します

(出力を秒単位で記録した方が見やすいので秒に設定。実際の使用では、これは約 50ms のサンプルになります)

私は次のようにmObsTrimを購読します:

ただし、スライダーを微調整したときの出力は、次の出力になります。

サンプルが機能すると説明されているため、これはほとんど機能していません。

私もやってみる

そして、出力は同じです!

毎秒トリムで単一の更新を取得できないのはなぜですか?

編集

そのため、最後の入力がいつ行われたかがわかるように、リスナーにログ メッセージを追加しました。