🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

2217閲覧

whileの中の処理を同期処理にしたい

aiai8976

総合スコア112

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

2クリップ

投稿2021/01/21 08:51

編集2021/01/21 09:03

前提・実現したいこと

whileの中の処理を同期的に処理したいのですが、今のコードだと非同期処理になってしまいます。
async/awaitやpromise等を使えば同期処理を記述できるみたいですが、今回の場合だとどのように書けば良いかわからず困っています。
わかる方がいましたらコメントお願いします。

発生している問題・エラーメッセージ

a a a ...

該当のソースコード

// hoge = 省略 function sample() { let a = null while (a != null) { //省略 console.log('a') axios.get(hoge) .then(res => { console.log('') if (hoge)) { commit(hoge) a = null } else { //省略 } }) } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/01/21 09:06

どのような動作を期待しているのか、日本語で書いていただけますか?
guest

回答2

0

ベストアンサー

javascript

1<Promiseを返す処理>.then(受け取る値 => 続きの処理);

は、

javascript

1let 受け取る値 = await <Promiseを返す処理>; 2続きの処理

と書き直せます。それで、関数を async にします。その関数を呼び出す側でも await が必要な場合があります。

javascript

1async function sample() { 2 ... 3 let res = await axios.get(hoge); 4 console.log('') 5 if (hoge)) { 6 ...

投稿2021/01/21 09:07

int32_t

総合スコア21679

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

whileの処理をまわすならworkerを検討するとよいでしょう
大量のループをaxiosで要求すると攻撃とみなされませんか?

投稿2021/01/21 09:11

yambejp

総合スコア116661

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問