AKKYM
@AKKYM

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【JavaScript】awaitしかしないのに非同期処理って意味ある?

久々にJavaScript(node.js)を書いたんだけど、async/awaitの書き方が整ってきて、Promiseをチェーンさせてコードを書かなくいいのは良くなってなぁと思いました。

ただそもそもとawaitしかしないのに、よく使うライブラリがPromiseで返してくるからasync/await使って書くことを強制されるのツラくないですか?

map関数とか使って書きたいなあと思ったときも

const results = await Promise.all(array.map(async (a) => {
  const ret = await funcPromise(a);
  return ret;
}));

とかいうメチャクチャわかりにくい書き方しないといけなくて大変だと思います。

デフォルトで非同期ってこういうツラさを乗り越えるほどのメリットありますかね。。。
こんなにツライならPythonで良いじゃんってなりませんか?

0

よく使うライブラリがどんなものがわかりかねるので見当違いかもしれませんが、単純に

Promise.all(array.map(funcPromise)).then(results => {
  // ほげほげ
});

じゃダメなんですか?基本的にただの糖衣構文なので無理にasync/await使う必要はないかと思います。

Pythonとどちらがいいかと言われても場面によるとしか答えられないです。

3Like

Your answer might help someone💌