同時發送多個請求並按順序輸出


代碼如下(借助了axios):

     方法一:
    let p1 = this.axios.get("role.json").then(res => {
        console.log(1);
      });

      let p2 = this.axios.post('login').then(async res => {
          await p1;
          console.log(2);
        });

      let p3 = this.axios.get("user.json").then(async res => {
        await p2;
        console.log(3);
      });
 
方法二:
    
  async  ajax() {
      let p1 = axios.get("role.json")
      let p2 = axios.post("login")
      let p3 = axios.get("user.json")
      console.log(await p1)
      console.log(await p2)
      console.log(await p3)
    }
方法三(多個的情況):
 
       let urls = ["role.json", "tree.json", "user.json"];
       async function logInOrder(urls) {
          // 並發讀取遠程URL
          const textPromises = urls.map(async url => {
            return axios.get(url);   //由於是async函數,實際上是嵌套的promise對象
          });
         
          for (const textPromise of textPromises) {
            console.log(await textPromise);
          }
        }
注意:使用map或forEach循環時程序是並發執行的,而for循環是繼發執行的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM