Vue の BeforeEach ガード ルートで ASync/Await が期待どおりに機能しませんか?
P粉425119739
P粉425119739 2023-11-06 23:44:52
0
1
889

これは私のルーティング ガードです:

リーリー

問題は、ディスパッチ メソッドで await を使用したにもかかわらず、最初は空だったアクセス許可のステータス値を取得できなかったことです。 これは vuex ストアのコードです:

リーリー

この問題の解決を手伝ってください。ありがとう!

P粉425119739
P粉425119739

全員に返信(1)
P粉350036783

Vuex では、操作は非同期です。呼び出し元の関数 (オペレーションの開始者) にオペレーションが完了したことを知らせる唯一の方法は、Promise を返し、後でそれを解決することです。

これは例です: myAction は Promise を返し、http 呼び出しを行い、後で Promise を非同期的に解決または拒否します。

リーリー

}

これで、Vue コンポーネントが myAction を起動すると、この Promise オブジェクトを取得し、それが成功したかどうかを知ることができます。 Vue コンポーネントのサンプル コードを次に示します:

リーリー

}

さらに、一致する権限がない場合に同じルートを呼び出すと、同じルートが呼び出され続け、無限ループが発生します。 アクセス許可が拒否された場合は、アクセス拒否ページにリダイレクトされます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート