代码之家  ›  专栏  ›  技术社区  ›  Manoj Prasanna

node js Set Interval方法调用

  •  -1
  • Manoj Prasanna  · 技术社区  · 5 年前

    发送邮件() 功能。因此,电子邮件只发送到最后一个电子邮件id。下面你可以看到我的代码,请有人能帮我解决这个问题吗

    async function mailSend(callback) {
    
        for (let scriptData of automatedScriptData.dataList) {
            var userData = {
                email: scriptData["Business Email"],
                password: "acc0unt@123",
                name: scriptData["First Name"] + " " + scriptData["Last Name"],
                firstName:scriptData["First Name"],
                title: scriptData["Title"],
                timeZone: scriptData["Time Zone"],
                location: scriptData["Country"],
                company: scriptData["Company"]
            };
    
           setInterval(function() {
             console.log(userData.email);
               sendtheMail(userData);
               }, 5*1000); 
    
        }
    
    }
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   Lajos Arpad    5 年前

    Javascript是单线程的,它有一个事件循环

    enter image description here

    function 有一个循环,在每次迭代中,一个事件被添加到事件循环中。然而,自从 var 变量是 function-scoped 功能 您在中定义了 timeout var userData let userData ,因为 let is block-scoped

    for (var i = 0; i < 2; i++) {
        let foo = i;
        setTimeout(function() {console.log("foo is " + foo)}, 100);
    }