問題タブ [callback]

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 投票する
2 に答える
7308 参照

javascript - Ajax 同期コールバック

ローカル フォルダーに pageTest.html があります。このページは、次の Ajax コードを使用して service.ashx?i=... (戻り値のパラメーターが +1 ずつ渡されます) を呼び出します。

HTMLページは、この関数をm回呼び出します(スクリプトを使用して..):

ページの読み込み中、呼び出しは「非同期モード」で実行されますが、Ajax で「 async: false 」を設定します。この問題について読んだところ、別のドメインにある場合、Ajax が page.html から service.ashx への呼び出しを同期できないという理由が見つかりました。page.html でその service.ashx (別のドメイン) への同期呼び出しを実行するためのソリューションはありますか?

0 投票する
3 に答える
3129 参照

wpf - WPF: アニメーションの完了後にメソッドを返す

このプログラミングゲームを参考に、現在制作中です。

Run次のようなもので構成されるメソッドを持つクラス ライブラリ (dll) があります。

これらのメソッド ( から継承Robot) では、システムは WPF を使用して (BeginAnimationまたは を使用してDispatcherTimer) ロボットをアニメートします。

さて、問題は、現在のメソッドを完了する前に戻る (つまり、次のメソッドに移動する) メソッドがないことです。これは、アニメーションが一緒に行われ、無限ループ (上の 1 つ)、それは特に良くありません。


私の質問は、アニメーションを完了する前にメソッドが戻らないようにする最善の方法は何ですか?

私は現在、アクションの実行が開始されたときにフラグが付けられるクラス ( ) を持っておりboolRobotその後isActionRunning、アニメーション コールバックで にtrue変更されます ( を使用する場合はイベントを使用します)。falseCompletedBeginAnimation

各メソッドの最後 (呼び出し後BeginAnimation) に、次のループを配置しました。

これは、アニメーションが終了する前にメソッドが戻らないようにするためです。

しかし、これはこれを行う正しい方法ではないと感じています。

これを達成するための最善の方法を教えてもらえますか?

0 投票する
4 に答える
1414 参照

c# - コールバック関数

C# で beingreceive ソケット メソッドを使用しているときに、コールバック関数として使用したい funct というメソッドがあります。

取得しているエラーは次のとおりです。

「関数」のオーバーロードはデリゲート「System.AsyncCallback」と一致しません

ここで何が問題になる可能性がありますか?

0 投票する
4 に答える
3124 参照

c++ - メンバー関数の継承への C++ ポインター

スーパークラスから継承するクラスによって定義されたコールバックを実行できるようにする必要があります。私はC++に比較的慣れていないので、メンバー関数ポインターの主題は非常に曖昧な領域であるように見えます。

質問への回答や、あらゆる種類のことを議論するランダムなブログ投稿を見てきましたが、ここで私の質問を具体的に扱っているものがあるかどうかはわかりません.

これは、私がやろうとしていることを示す単純なコードの塊です。この例はあまり意味がないかもしれませんが、私が書こうとしているコードに正確に似ています。

0 投票する
2 に答える
3055 参照

javascript - Javascriptコールバック関数の問題

バックグラウンド

私は自分のウェブサイト用に非同期コメントシステムを書いています。これを達成する方法についてのチュートリアルをたくさん読んだ後、私はゼロからそれを構築し始めました。コメントはJSONリクエストを使用して取得され、Javascript(jQuery)を使用して表示されます。ユーザーが新しいコメントを追加すると、それはフープを通過し、最終的にAJAXを介してバックエンドに送信され、そこでデータベースに追加されます。AJAXリクエストの成功セクションで、スクリプトにコメントを空にしてから、新しいリスト(新しい投稿を含む)を再プルして再表示しました。

問題

それはすべて素晴らしいことでしたが、ページがはるかに短くなり、ユーザーがページを表示している場所がはるかに長くなるため、混乱します。コメントリストの最後(コメントの追加フォームがある場所)までページを再調整してもらいたかったのです。また、追加ボタンを再度有効にします。追加ボタンをクリックすると無効になり、せっかちな人がスパムを送信するのを防ぎます。

これは理論的にはすべてうまく機能しましたが、getComments関数が実行される前に、ブラウザーがそれ自体よりも進んでwindow.locationを処理しているように見えました。それで私はもう少し読んでそれをグーグルで検索しました、そして人々が(同様の問題のために)コールバック関数を使うように言っているようだったので、私はこれを思いつきました:

これにより、FireFoxによるとjavascriptエラーは生成されませんが、コールバック関数内では何も機能していません。ボタンを再度有効にしたり、window.locationを変更したりすることはありません。

何か案は?それについて行くためのより良い方法は?見えないような明白なタイプミスはありますか?

ありがとう!

アップデート

コールバック関数は標準的なものだという印象を受けました。

これは、ドキュメントの準備ができたときに呼び出されます。すべてのコメントをプルして、#commentListdiv内に表示します。ユーザーがコメントを送信すると、PHPスクリプトに対してAJAXリクエストが実行され、データベースに新しいコメントが追加されます。これが成功すると、次のようになります。

ページからすべてのコメントを削除します。JSONを使用して、コメントを再度要求します(ユーザーの新しいコメントを含む)。ページを#addCommentアンカーに移動します。ここに、新しいコメントが表示されます。コメントの追加ボタンを再度有効にします。

問題は、getComments関数がすべてのコメントをレンダリングする前に、ブラウザーがwindow.location行を実行するため、ページが大きくなるにつれて、ユーザーは新しいコメントの近くを見ていません。

0 投票する
5 に答える
40998 参照

c# - C#でのコールバック

パラメータのオブジェクトを受け入れる関数を含むライブラリが必要です。

このオブジェクトを使用して、Xが終了したときに指定された関数を呼び出せるようにします。呼び出される関数は呼び出し元によって指定され、Xはライブラリによって実行および監視されます。

これどうやってするの?

参考までに、C#と.NET3.5を使用しています

0 投票する
2 に答える
2684 参照

c# - C#でWSAAsyncSelect()を呼び出して使用する方法は?

賞金を設定するときに質問を編集しました。WinAPI から Invoke/DllImport WSAAsyncSelect() を使用し、Delphi/C++ で使用するのと同じように使用したい

例 - デルファイ

前もって感謝します!

0 投票する
2 に答える
951 参照

jquery - jQueryを使用してdivを非表示にしてから表示する

いくつかのdivをslideUpしてから、1 divをslideDownしたい。ただし、いくつか問題があります。

このコードでは、divDocumentは表示されますが、 divLocationは表示されません。divDocumentがまだ非表示になっていない場合でも、 divLocationは既に非表示になっているため、doStuff()イベントがすぐに発生します。

このコードは、divDocumentが完全に非表示になるまで待ってからdoStuff()を呼び出すため、正常に機能します。ここで間違った複数要素セレクターを使用していますか? 私は何か他のことを間違っていますか?

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

jquery - jQuery コールバックが呼び出されていない

.postjQuery の AJAX メソッドを使用しています。

ここで何が間違っていますか?レコードが更新されると AJAX は機能しますが、コールバック イベントは発生しません。Firebug にもエラーはありません。

0 投票する
6 に答える
3132 参照

.net - 無効なポストバックまたはコールバック引数

この質問は以前にもあったようですが、私の状況は少し違うように感じます。

グリッドビューを含むページがあります。グリッドビュー内のレコードの 1 つを編集するためにボタンが押されると、ボタンはまず、編集のためにモーダル ウィンドウをポップアップするクライアント スクリプトを実行します (.onClientClick を使用して設定)。このポップアップから、ユーザーは [更新] をクリックしてデータベースを更新し、ウィンドウを閉じます。ウィンドウが閉じられると、ボタンのサーバー側コードが起動し、関数が呼び出されてグリッドビューが更新されます。代わりに、次のエラー メッセージが表示されます。

ポストバックまたはコールバック引数が無効です。イベントの検証は、構成またはページで使用して有効にします。セキュリティ上の目的で、この機能は、ポストバック イベントまたはコールバック イベントへの引数が、それらを最初にレンダリングしたサーバー コントロールから発信されていることを確認します。データが有効で期待される場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。

本当にイライラするのは、これとまったく同じロジックを別のページで使用し、正常に動作することです。

これを回避する方法について何か提案はありますか?

更新: クライアント側スクリプトを追加したコード行を削除しましたが、まだエラーが発生します。したがって、単にポストバックが原因であると確信しています。よく調べてみると、実際にはいくつかの ListItems がプログラムによって DropDownLists にバインドされていることがわかりました。だから...私はおそらくClientScriptManager.RegisterForEventValidationのことをする必要があります....それを行うための構文がどのように見えるかについて、誰かが私に例を与えることができますか? ScriptManager オブジェクトとは異なる設定になっているようです....