ループ内で約束- 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つのメールを送信できる機能を記述します.
このようなメールのリストがあるとしましょう
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 >
それから、ハッピーコーディング:-)