axios 响应解构未定义

axios response destructuring undefined

export async function downloadAndSyncData(
  user_id: number
): Promise<boolean> {
  try {
    const { status, data } = await getProtocols(user_id);
    let { sets } = data;
    if (status === 200) {
      if (sets !== undefined) {
        console.log("entrou aqui");
        sets.map(async set => {
          const callDetail = detailData(set);
          let obj = await insertDataStorage("DetailSchema", callDetail);
        });
      } else {
        console.log("undefined sets");
      }
      return true;
    } else {
      return false;
    }
  } catch (error) {
    throw error;
  } finally {
    await syncOptions();
  }
}

我的应用程序有一个功能,可以从集合中发出请求以显示在列表中。 sets 是一个对象数组,来自我在 laravel 上的后端。 laravel return

问题是,有时有效,有时无效。我不明白为什么。 它适用于小物体。

test console

在邮递员上,也可以。 postman

if (status === 200) { 检查中移动解构。如果状态不是 200,则 data 可能未定义,您无法解构 undefined 值。

或者您可以这样重写您的检查:let sets = data?.sets;,这样您将首先检查数据是否在此处,然后获取 sets 属性 值。