私は特に問題はありませんが、私は自分の疑問について他の人から意見を得たいと思います。私は先進的な開発者ではないので、私が言うことが愚かであるか完全に間違っているならば、私を訂正してくれることを躊躇しないで、私はここで学びます。非同期プログラミング(NodeJS)の使用
私は最近NodeJSをたくさん使っていますが、もちろん、ほとんどのコードは非同期で書かれています。しかし、私はいくつかのことについて考えるようになりました。
私は、非同期コードではなく非同期コードを書いたときに、読みやすいコードを書くのは難しいです。また、多くの場合、ネストされたコールバックがたくさんあります。後で私は約束を学んだが、それはすべてを改善すると思うが、約束があっても、私が書いたコードは、維持するのが難しく、エラーを起こしやすいような気がする。
多くの時間、私はむしろ同期呼び出しをしたいと思いましたが、ライブラリは非同期インターフェイスを提供するだけなので、非同期呼び出しを使用することを余儀なくされました。例えば、非常に頻繁に、私はデータベースからデータを取得する必要があり、データベースを照会するための非同期コードを書くことになります。あるいは、別の状況では、サーバーに要求する必要があります(例えば、 )しかし、これらの状況では、自分の応答を送る前にデータを取得する必要があります(データベースやトークンなどからデータを取得する必要があるため、私は待つ必要があります)。しかし、私は同期コードがより自然で読みやすいように感じる間に、非同期コードを強制的に書き込むことになります。
NodeJSでは、同期呼び出しでメインスレッドをブロックすべきではないので、非同期プログラミングが唯一の方法だと思います。しかし、NodeJSを落として、同期コードを書くことができるかどうか、NodeJSについて忘れてしまったことがあるかどうかを知りたいです。
I/Oはほとんど常に非同期です。たとえそれを同期して実行することができたとしても、スケールされません。 Webブラウザがシングルスレッドで、同期I/Oを実行するとします。私はファイルをダウンロードしている間はブラウザーを使用することができません(Webサイトの読み込み速度が遅く、応答が遅いとは言えません)。何をするかは、あなたが構築しているものに完全に依存します。しかし、非同期プログラミングに慣れて学習することは確かに有益です。 –
@Matあなたが読むのが難しいあなたのコードの一部を表示してもよろしいですか? –