You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化含await判断的Axios重复调用代码?

消除Axios重复调用代码的优化方案

当然可以,你可以通过提取公共请求配置的方式消除重复代码,后续修改请求参数(比如headers、请求方法)只需要改一处,维护起来更方便。

优化后的代码如下:

export const handler = async (event, useAwait) => {
  const { path, data } = JSON.parse(event);
  
  // 提取所有重复的请求配置到一个对象里
  const requestOptions = {
    url: `https://example.com/api${path}`,
    method: 'post',
    headers: {
      'api-key': key,
    },
    data: data,
  };

  // 先发起请求拿到Promise实例
  const requestPromise = axios(requestOptions);

  if (useAwait) {
    // 需要阻塞等待结果时,直接await这个Promise并返回
    return await requestPromise;
  } else {
    // 非阻塞场景下,请求后台执行,直接返回true
    return true;
  }
};

优化思路说明

  • 提取公共配置:把原代码中重复的URL拼接、请求方法、headers、请求数据都抽成单独的配置对象,避免两处重复编写。
  • 复用请求Promise:不管是否需要等待结果,只调用一次axios生成Promise实例,分支逻辑只处理是否等待这个Promise的结果,彻底消除重复调用代码。

内容的提问来源于stack exchange,提问作者Yada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 17:51:18