パラメータでawaitを使用することは可能ですか?例えば:
const run = async () => {
getStudentDetails(await getStudentId());
}
たとえそうだとしても、それは最善の考えではないように思われます。誰かが前にこれをしましたか?
私はいつもそれをします。ただし、関数に複数のパラメーターを渡したい場合は、それらは順番に解決されます。その問題と戦うために、私は次のようなutil関数を作成しました。
async function call(func, ...args) {
return func(...await Promise.all(args));
}
(async function() {
console.log(await call(functionToCall, delay(2000), delay(2000)));
})();
その構文では、functionToCallは4秒ではなく2秒で呼び出されます
はい、これは機能します。式を使用できるすべての場所でawait
キーワードを使用できるためです。
ただし、読みやすさを向上させるために(また、デバッグ性を向上させるためにも)、コードを少し更新したバージョンをお勧めします。
const run = async () => {
const studentId = await getStudentId();
getStudentDetails(studentId);
}
これがお役に立てば幸いです????