[解決済み] Javascriptで非同期関数を作成するにはどうすればよいですか?
2022-04-28 09:46:53
質問
これを見てください コード :
<a href="#" id="link">Link</a>
<span>Moving</span>
$('#link').click(function () {
console.log("Enter");
$('#link').animate({ width: 200 }, 2000, function() {
console.log("finished");
});
console.log("Exit");
});
コンソールにあるように、"animate" 関数は非同期で、イベントハンドラーブロックコードのフローを fork" しています。実際、:
$('#link').click(function () {
console.log("Enter");
asyncFunct();
console.log("Exit");
});
function asyncFunct() {
console.log("finished");
}
ブロックコードの流れに従いましょう
を作成したい場合
function asyncFunct() { }
この動作は、javascript/jqueryでどのように行うのでしょうか?を使用しない方法があると思います。
setTimeout()
解決方法は?
真にカスタムな非同期関数は作れない。結局はネイティブで提供されている技術を活用するしかない、といったところでしょうか。
-
setInterval
-
setTimeout
-
requestAnimationFrame
-
XMLHttpRequest
-
WebSocket
-
Worker
- File API、Web Database APIなど、一部のHTML5 API
-
対応する技術
onload
- ... その他多数
実際には、アニメーション用のjQuery
は
setInterval
.
関連
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
Vueのイベント処理とイベントモディファイアの解説
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue for 登録ページ効果 vue for sms 認証コードログイン
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
Vueのイベント処理とイベントモディファイアの解説
-
Vueの「データを聴く」原則を解説
-
Vueのフィルタの説明
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules