私は次のコードがあるとします。パラメータを持つ同期関数を非同期関数(Javascript)として書くにはどうすればよいですか?
同期バージョン:
var waitingToGetValue = heavyProcessingFunc (para1, para2);
response.send(waitingToGetValue);
を私は周りを探してみましたが、私が得たすべてのパラメータを使用せずに機能しました。
非同期の試み:
heavyProcessingFunc(para1, para2, (function(waitingToGetValue){
response.send(waitingToGetValue);
});
私は関数に2つのパラメータを送信する必要があります。この関数は、応答に送信するために使用する必要がある値を返します。
非同期形式で入力しても問題ありませんか?誰も私にビデオ/ソースを教えてもらえますか?非同期と非同期の違いを簡単に説明できます:過去数日間の多くの資料を読んで、約束、コールバック、そしてそれらの機能の外の値にアクセスしようとしています。 (UIがロックアップして、あなたが待っている間に応答しなくなるため、一般的に悪い)、応答が受信されるまで同期はすべてを意味
が停止します。非同期とは、リクエストが行われている間にコードが処理を続けることを意味します。これは、UIがブロックされないために優れていますが、応答がいつ返ってくるのかわからないという問題が生じます。これがコールバックが必要な理由です。 –
コールバックを受け入れる関数を作っても、非同期にはなりません。関数の機能によって異なります。例えば。 'Array#forEach'もコールバックをとりますが、非同期ではありません。あなたの質問が本当に何であるかはわかりません。 –
「非同期形式」は何も役に立ちません。関数を実際に非同期的に処理させる必要があります。重い処理のラウンド間にわずかな遅延がある場合は、関数を非同期的に処理する必要があります。 – Bergi