ループ内で約束- Javascript ES 6
この記事では、ループ内でPromise関数をどのように書くかについて説明します.ループ内で約束- Javascript ES 6
JavaScriptについてもっと知りたい場合.この記事をチェック
Prototypal Inheritance - Javascript Weekly
Understanding Closures in Javascript - Javascript Weekly
Configuring Babel for Node/Express
Subscribe to my newsletter 更なる更新のために.
コードにジャンプする前に、ループ内にPromise関数を書く必要がある理由を確認します.
シナリオ
メールのリストにメールを送信する必要がある状況を考慮してください.あなたは一度に1つのメールを送信できる機能を記述します.
このようなメールのリストがあるとしましょう
あなたが考えることができる、なぜ私はループ内の関数を呼び出すことはできません.それは簡単です..はい?
いいえ.それはうまくいかない.メール送信は非同期関数です.ループは前の関数が完了するまで待ちません
したがって、関数呼び出しを欠場するかメールを送信する可能性があります.この問題を解決するためには約束を使う必要がある.
ループ内で約束- Javascript ES 6
まず、メールを送信する関数を返しますPromise .
< div >
まとめて、約束はJavaScript ES 6の強力な追加の一つです.ループ内での約束- JavaScript ES 6
さらに、今後の記事ではJavaScriptの中核的な概念についても参照していきます.そのままお待ちくださいp >
それから、ハッピーコーディング:-)
JavaScriptについてもっと知りたい場合.この記事をチェック
Prototypal Inheritance - Javascript Weekly
Understanding Closures in Javascript - Javascript Weekly
Configuring Babel for Node/Express
Subscribe to my newsletter 更なる更新のために.
コードにジャンプする前に、ループ内にPromise関数を書く必要がある理由を確認します.
シナリオ
メールのリストにメールを送信する必要がある状況を考慮してください.あなたは一度に1つのメールを送信できる機能を記述します.
このようなメールのリストがあるとしましょう
const emailList = ['[email protected]','[email protected]','[email protected]']
まず、メールを受け取り、対応するメールにメールを送る単一の関数を書きます.function sendMail() {
//Sending mail
}
この関数は、配列のメール数に応じて呼び出す必要があります.あなたが考えることができる、なぜ私はループ内の関数を呼び出すことはできません.それは簡単です..はい?
いいえ.それはうまくいかない.メール送信は非同期関数です.ループは前の関数が完了するまで待ちません
したがって、関数呼び出しを欠場するかメールを送信する可能性があります.この問題を解決するためには約束を使う必要がある.
ループ内で約束- Javascript ES 6
まず、メールを送信する関数を返しますPromise .
const sendEmail = (userEmail) => {
return new Promise(async (resolve,reject) => {
//this is a mock email send logic
setTimeout(() => {
resolve(`Email Sent to ${userEmail}`);
},3000)
})
}
JavaScript map ()関数の関数を呼び出します.Promise.all const sendEmails = async () => {
const userEmails = ['[email protected]','[email protected]','[email protected]'];
const status = await Promise.all(userEmails.map(email => sendEmail(email)));
console.log("Status =>",status);
}
これはループ内の約束を呼び出す方法の一つです.< div >
まとめて、約束はJavaScript ES 6の強力な追加の一つです.ループ内での約束- JavaScript ES 6
さらに、今後の記事ではJavaScriptの中核的な概念についても参照していきます.そのままお待ちくださいp >
それから、ハッピーコーディング:-)
Reference
この問題について(ループ内で約束- Javascript ES 6), 我々は、より多くの情報をここで見つけました https://dev.to/ganeshmani/promises-inside-a-loop-javascript-es6-19p4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol