js中處理 await 異步異常以及try、catch、finally、throw 的基本使用

我們在項目中經常遇到報錯程序終止執行,無法看到後續代碼渲染的內容,尤其是編寫異步代碼時無法捕捉錯誤,更是頭疼。
下面是一個簡單的錯誤處理的小例子。幫助大家提供一個簡單思路。

async getListData(version2Ids) {
      let version1Id = getStore({ name: "versionId" });
      let projectId = getStore({ name: "proId" });
      let versionType = getStore({ name: "versionType" });
      let data3 = {
        version1Id: version1Id,
        version2Id: version2Ids || version2Id,
        projectId
      };
      try {
        await benchmarkingHeader(data3).then(res => {
          if (res.data.msg == "success") {
            
            }
            return res.data.data;
          } else {
          }
        });
        //如果沒有找到任何異常處理程序,js將會把異常當成程序錯誤來處理,並在瀏覽器顯示;
        throw new Error("接口異常了,趕緊看看啊!!!");
      } catch (e) {
        console.log(e);//將異常攔截並顯示
      }
      finally{
        console.log('不管try是否拋出異常,這裏的邏輯總會執行')
      }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章