[解決済み】JavaScriptのPromiseの状態を同期的に決定するにはどうすればよいですか?
2022-04-13 01:28:23
質問
純粋なJavaScriptのPromise(組み込み実装またはポリフィル)を持っています。
var promise = new Promise(function (resolve, reject) { /* ... */ });
から 仕様 のいずれかであり、プロミスは以下のいずれかである。
- 'setted'と'resolved'
- 解決済み」と「拒否」。
- '保留'
私は、Promiseを同期的に照会して判断したいユースケースがあります。
-
プロミスが決済されたか?
-
の場合、そのプロミスは解決されましたか?
を使用できることは知っています。
#then()
を使用して、Promise が状態を変更した後に非同期で実行される作業をスケジュールします。私はこれをどのように行うかを尋ねているのではありません。
この質問は、特に Promiseの状態の同期的な問い合わせ . どうすれば実現できるのでしょうか?
どのように解決するのですか?
JavaScriptのネイティブプロミスには、そのような同期検査APIは存在しません。 ネイティブのプロミスでこれを行うことは不可能です。仕様書にもそのようなメソッドは明記されていません。
ユーザーランドのライブラリではこれが可能で、特定のエンジン(v8など)をターゲットにしていて、かつ プラットフォームコード (でコードを書くことができる)。 コア ) の場合、特定のツール (プライベートシンボルなど) を使ってこれを実現することができます。それは超特殊なことで、ユーザーランドにはないのですが。
関連
-
Vueの要素ツリーコントロールに破線を追加する説明
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] 2つの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 実装 サイバーパンク風ボタン
おすすめ
-
親子コンポーネント通信を解決する3つのVueスロット
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
JavaScriptの配列共通メソッド解説
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
Vueのクラススタイルの使い方の詳細
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み】JavaScriptでインラインIF文の書き方は?
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。
-
[解決済み] 明示的なプロミス構築のアンチパターンとそれを回避する方法とは?