[解決済み] Syntax error : await is only valid in async function を解決するにはどうすればよいですか?
2022-01-30 03:03:35
質問
プロミスを使った非同期呼び出しから、あるデータを返すコードを書きました。実行しようとすると、"Syntax Error await is only valid in async function"となり、Cannot proxy application requests...Error: connect ECONNREFUSEDとなりました。
なぜこのようなエラーが発生するのか、よくわかりません。
関数呼び出しの前にasyncを使ってみたが、うまくいかなかった
var http = require('https');
var httpGet = function(url) {
return new Promise (function(resolve, reject) {
http.get(url,function(res) {
res.setEncoding('utf8');
var body = '';
res.on('data', function(chunk){
body += chunk;
console.log("The body is "+ body);
});
res.on('end',function(){resolve(body);});
}).on('error', reject);
});
};
var body = await httpGet('link');
$.response.setBody(body);
httpGet関数から返されたデータを変数bodyに持たせたいのですが。今現在、私は上記のようなエラーを受け取っています。しかし、awaitを使用せずに、私は'{}'としてbodyの値を取得します。
お願いします
解決方法を教えてください。
await
とマークされた関数の中でしか呼び出すことができません。
async
.
を作るので
async IIFE
を呼び出して
httpGet
を追加しました。
(async function(){
var body = await httpGet('link');
$.response.setBody(body);
})()
基本的には、1つの
asynchronous
の操作で、フロー全体も非同期にする必要があります。そのため
async
キーワードはES6ジェネレータ関数を使うようなもので、プロミスを返すようにします。
を確認することができます。 これ をご覧ください。
関連
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] 非同期アロー関数のシンタックス
-
[解決済み] Node.jsで "Cannot find module "エラーを解決するにはどうしたらいいですか?
-
[解決済み] async/await構文で拒否する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み】エラー:リスン EACCES 0.0.0.0:80 OSx Node.js
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み】 \u003C とは何ですか?
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み】module.exports "モジュールが定義されていません"