問題タブ [asynccallback]
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.
c# - 複数のクライアント用の非同期 TCP サーバー
着信接続を非同期でリッスンする TCP サーバーがあります。クライアントが 1 つだけ接続されていれば、すべて正常に動作します。ただし、2 つ以上の接続がある場合、サーバーは最初のメッセージを取得しません。ReceiveCallback 関数をデバッグすると、サーバーがデータではなくメッセージの長さを取得することがわかります。つまり、2 つのクライアントを接続して最初のメッセージ「hello」を送信しようとすると、サーバーは次のようになります。buffer= /0/0/0/0/0 なので何も表示されません。同じクライアントの 2 番目のメッセージで、サーバーはデータを取得します。
それは私のサーバーがどのように見えるかです:
java - 非同期コールバックの失敗
私のアプリでは、ファイルに文字列値を追加する必要があります(重要な場合は.propertyファイル)。ユーザーはこの値を gwt GUI に入力します。重要な部分は次のとおりです。
したがって、「サーバー部分」にあるメソッドを呼び出すには、Asunccallback を使用する必要があります。これらの方法は次のとおりです。
すべてのインターフェイスが存在します。コードを実行してGUIで「送信」ボタンを押すと、両方のasynccallbackが失敗したことがわかります(ご覧のとおり、メソッドに送信する値がnullではないという事実にもかかわらず、Window.alertは「nullポインタ例外」を示しています) . なぜそれができるのですか?私に何か提案できますか?
ここでのUPDは、firebug によって表示されるエラーです。
java - GXT Grid にデータを適切に追加するにはどうすればよいですか?
ファイルからデータを取得してテーブルに入力する必要がある webapp があります。このテーブルを含むページのコードは次のとおりです。
アプリを実行すると、列名のみが表示され、セルにはデータが表示されません(もちろんセルは表示されません)。例として、これを使用しました: Ext GWT 2.2.6 Explorer(Grid)
何がそのような問題を引き起こすのか理解できません。この理由は何ですか?
c# - dll の Asynccallback によりフォームがフリーズする
ボタンとテキスト ボックスを含むフォーム Form1 があります。ボタンをクリックすると、USB デバイスからデータを取得する必要があります。何らかの理由で、約 2% しか正しく機能しません (100 回のクリックのうち 2 回の正しい応答を得ることができました)。Form1 のコードは次のとおりです。
USB 通信を処理するコードは DLL Lib1 にあります (以下のコードの一部):
動作しない場合、fileStreamDeviceData.BeginRead 付近で停止し、Form1 がフリーズします。
テストのために、まったく新しいプロジェクトを作成し、DLL を使用する代わりに、すべての DLL コードを Form1 にコピーしました。このオプションは、100% の確率で問題なく機能します。私の質問は、なぜ DLL で動作しないのですか?
更新:運が良ければ動作し始め、アプリケーションを閉じるまで無期限に動作します。それから、私はそれを再び機能させるために努力し続けなければなりません。この問題のトラブルシューティング方法は?
javascript - Javascript はデフォルトで同期 (ブロッキング) または非同期 (非ブロッキング) です
Javascript 非同期関数とコールバックを把握しようとしています。
私はいくつかの場所で読んでいるコールバック関数の概念に行き詰まりました:それらはコードの順次実行(主にアニメーションなどのjqueryのコンテキストで)と、特にNodejsのコンテキストでのいくつかの場所に使用されます。これらは、並列実行を非同期にし、コードのブロックを回避するために使用されます。
それで、このトピックの専門家がこれに光を当てて、私の心の中でこの混乱を解消してください(例??)。だから私はコールバック関数の使用法を思いつくことができました
それとも、コード内でコールバック関数を呼び出し/配置する場所にのみ依存しますか? .
ありがとう、
PS: この質問が主観的なものに近いのではないかと心配していますが、それでも具体的な回答を期待できます (おそらくいくつかの例)。
編集:実際、これは私を曖昧にするインターネットの例です:
結果
私の理解によれば、JSがシーケンシャルな場合、do_bは常にdo_aの後に来るはずです。
javascript - Meteor はシステム コマンドを同期的に実行します
meteor とやり取りしたい単純なモデルを C++ で作成しました。現在、モデルはコマンド ラインとして実行され、すべてがうまく機能していますが、コマンド ラインの呼び出しは非同期で行われます。モデルは非常に高速であるため、結果をコールバックで受け取る必要はありません。また、このプロセスにコールバックを含めると、流星の DB アクセスがより複雑になり、これは避けたいことです。
というわけで、よくある質問です: javascript で何かを非同期同期させるにはどうすればよいでしょうか…</p>
これはノードを使用して議論されていることを知っています。このトピックはすでにここで回答されています: node.js execute system command synchronously
これは、流星内でこれを実際に行う/設定する方法は?
npmを使用してパッケージをインストールする必要がありますが、Meteorが配布システムを変更したため、npmパッケージを単独で処理できるようにする方法は何ですか? ここを見て、私が話していることを確認してください。このpackage.jsに関する関連情報を見つけることができませんでした
外部パッケージのインストールを避けるために、 Meteor によって内部的に使用されているFibersを使用することを考えましたが、それでも非同期呼び出しをカプセル化する方法の例はありますか? 最後になりましたが、Fiber の開発者は、Fiber で直接コーディングするのではなく、Fiber を使用している他のサブツールを使用するようにほとんどアドバイスしていますが、npm パッケージを含める方法に関する質問に戻ります
私のコードは次のようになります(少し簡略化されています):
次のようなものが欲しいです:
java - Android/Java でのネットワーキング - サーバーからのコールバック後に API クラスにコールバックするにはどうすればよいですか?
だから、私も取り組んでいる iOS アプリケーションに基づいて Java で Android アプリケーションを書いていますが、この質問は Java でコールバック メカニズム (Objective-C 2.0 のブロックなど) を通信する方法について質問しています。
このアプリケーションには、ネットワーキング、認証、および API を介したサーバーとの通信が含まれます。
私はこのフレームワークを使用しています: https://github.com/loopj/android-async-http
すべてのネットワーク モデルをクラスにカプセル化して、すべてをクリーンで簡単にしようとしています (iOS ではデリゲートとブロックを使用すると非常に簡単に見えますが、Java にはこれらの便利さがまったくないようです)。したがって、コールバックのガイドとしてこれを使用しています: http://www.gdgankara.org/2013/03/25/android-asynchronous-http-client-a-callback-based-http-client-library-for- android-and-android-smart-image-view/
ここで、Activity クラスから呼び出しを行うのではなく、Activity クラスから呼び出すことができる API クラスを呼び出したいとします。どうすればこれを行うことができますか? iOS でブロックとデリゲートを使用してこれを行う方法は簡単にわかりますが、インターフェイスでこれを行うにはどうすればよいですか?
例えば:
iOS ( AFNetworkingと呼ばれる一般的なネットワーク フレームワークを使用) には、次の 4 つのクラスがあります。
HTTPClient.h/m
APILogin.h/m
LoginObject.h/m
ログインVC.h/m
したがって、これまでのところ、Android-Async-Http ライブラリを使用すると、次のようになります。
HTTPClient.java
APILogin.java
LoginObject.java
うまくいけば、私が達成しようとしていることを少し明確にすることができました。成功時に、API 呼び出しを呼び出したオブジェクトである種のコールバック ブロックを実行できるようにしたいと考えています。ただし、常に同じオブジェクトであるとは限りません。LoginObject には APILogin.java のインスタンスが含まれている可能性があり、別のオブジェクトである可能性もあります。そのため、特定のクラスを指定して渡し、メソッドを呼び出すことができる上記の 2 番目のリンクは使用できません。 Java には汎用ポインター (id または void*) オブジェクトがありません。