96776


例えば以下の様なコードを実行した際、期待する結果のようにするにはどのように記述すれば良いでしょうか。

**期待する結果:**

[code]

    01:011:元気になる
    02:022:元気になる
    (3秒待機)
    01:011:頑張る
    02:022:頑張る
    
[/code]

**現状の結果:**

[code]

    01:011:元気になる
    (3秒待機)
    01:011:頑張る
    (3秒待機)
    02:022:元気になる
    (3秒待機)
    02:022:頑張る
    
[/code]

**現状のコード:**

[code]

    const User = [
      { ID: "01",
        PASS: "011" },
      { ID: "02",
        PASS: "022" }
    ];
    
    const Request = [
      '元気になる',
      '頑張る'
    ];
    
    async function main() {
      Promise.all(User.map((MainScript)));
    }
    
    function MainScript({ ID,PASS }) {
      Request.map(function( Requests ) {
        console.log(ID + ":" + PASS + ":" + Requests);
        sleep(3000);
      });
    }
    
    function sleep(waitMsec) {
      var startMsec = new Date();
      while (new Date() - startMsec < waitMsec);
    }
    
[/code]


CC BY-SA 4.0
2023-11-13T15:52:06.610
96774
2023-11-15T02:31:58.547
2023-11-15T02:31:58.547
3060
31483
question
javascript
map処理の記述について


そもそも map が不要に見えます。ブラウザで動く前提だとすると以下のようになるでしょうか。

[code]

    const user = [
      {id: "01", pass: "011"},
      {id: "02", pass: "022"}
    ];
    
    const requests = [
      '元気になる', '頑張る'
    ];
    
    async function main() {
      for (let r of requests) {
        for (let {id, pass} of user) {
          console.log(`${id}:${pass}:${r}`);
        }
        await sleep(3000);
      }
    }
    
    function sleep(waitMsec) {
      return new Promise(resolve => setTimeout(resolve, waitMsec));
    }
    
    main();
[/code]


CC BY-SA 4.0
2023-11-13T22:30:36.987
96776
2023-11-13T22:30:36.987
3475
96774
answer