await は予約語 問題解決
2022-02-25 01:45:06
1 asyncとawaitの概念については、こちらの記事で提案しています。 https://www.cnblogs.com/SamWeb/p/8417940.html
私が遭遇したのは vue 要素のコンポーネント内部で、コンポーネントフォームが正常にチェックインした後 (createProjectConfirm 関数内)、新しいレコードが追加され、リストが更新されるようにもともと書かれていました (handleResult) 。
handleResult (res) {
if (res.state ! == 0) {
this.$message({
message: res.message,
type: 'warning'
});
} else {
this.$message({
message: res.message,
type: 'success'
});
this.$refs['projectForm'].resetFields();
this.dialogFormVisible = false;
this.getProjectList(1);
}
},
createProjectConfirm () {
this.$refs['projectForm'].validate((valid) => {
if (valid) {
let param = {
projectName: this.projectForm.projectName,
projectDescription: this.projectForm.projectDescription
};
this.$post('/api/project', param).then(res => {
this.handleResult(res);
});
2 その後、asyncとawaitを試したところ、これがうまくいきました。
createProjectTest() {
let param = {
projectName: this.projectForm.projectName,
projectDescription: this.projectForm.projectDescription
};
return this.$post('/api/project', param).then(res => {
return res;
});
},
createProjectConfirm () {
this.$refs['projectForm'].validate( async (valid) => {
if(valid) {
let res = await this.createProjectTest();
console.log(res);
if(res.state ! == 0) {
this.$message({
message: res.message,
type: 'warning'
});
} else{
this.$message({
message: res.message,
type: 'success'
});
this.$refs['projectForm'].resetFields();
this.dialogFormVisible = false;
this.getProjectList(1);
}
}
})
前のエラーが報告されたawaitは、予約語であるため、間違ったasyncはcreateProjectTestに、ここでasyncとawaitはペアで、そう匿名関数の場所に配置する必要があります、プラスasync関数がブロックawaitます、awaitはスレッドのうち、同期のように飛び出す、それは何かを学ぶための一つのことは、それは何かを使用するには別のことだ。セルフモチベーション
関連
-
XXXをオリジンとするフレームがクロスオリジン.iframeクロスドメイン問題にアクセスするのをブロックするシンプルな解決策
-
VueComponent で未定義のプロパティ '$el' を読み取ることができません。
-
Vue using seven cows cloud upload error o.upload.addEventListener is not function and other error reporting issues.
-
ERROR コマンドは失敗しました: npm install --loglevel error --registry=https://registry.npm.taobao.org --di
-
Uncaught ReferenceError: exports は vue プロジェクトで定義されていません。
-
vueコンソールがエラーUncaughtを報告する(promiseの場合)
-
vue プロジェクトのエラーメッセージ Uncaught ReferenceError: Vueは定義されていません。
-
npm install エラー "Unexpected end of JSON input while parsing near" は解決されました。
-
vueの開発です。[違反】スクロールブロックの<some>イベントに非パッシブなイベントリスナーを追加しました。このような場合、Consider ma...
-
this.setの正しい使い方
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
npm ERR!コード ENOENT npm ERR!システムコールオープンエラーが解決されました。
-
ウィンドウやドキュメントがNuxtで定義されていない問題のまとめ
-
vueのインストール・イメージは、https://registry.npm.taobao.org/cnpmへのエラー・リクエストに失敗したと報告します。理由: getaddrinfo ENOTFOUND regis
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory
-
Uncaught (in promise) TypeError: 未定義のVueエラーのプロパティ'theData'を読み取れない
-
Uncaught (in promise)の解決策、考えられる原因
-
Vue+springboot+websocketベースのWeChatウェブチャットルーム(プライベートおよびグループチャット機能)の短い模造品(オンラインプレビュー可)
-
ElementUI checksum 【違反】スクロールブロックの「touchmove」イベントに非パッシブなイベントリスナーを追加した。問題解決
-
Vueプロジェクトを開くためのVSCode、解决无法对@/assets/aaa.vue指向的文件使用跳转、ほぼすべてのwebpackプロジェクトに対応しています。
-
VUE ストリングスプライシング 各種スプライシング