帮助和配置文件

news/2025/3/14 21:04:01/

帮助和配置文件

助手和配置文件是软件开发中的重要组成部分,它们有助于组织代码、管理设置以及简化重复性任务。

  • 首先我们创建一个关于辅助的配置文件

在这里插入图片描述

  • 例如我们的API URL,在程序中请求一般不止一次,而且如果URL有变动我们需要修改多个地方,我们可以创建一个单独的JS用来简化重复性任务;
export const API_URL = 'https://forkify-api.herokuapp.com/api/v2/recipes';
  • 之后需要在model中进行引用
import { API_URL } from './config.js';
  • 接着就将URL进行变量替换了
const res = await fetch(`${API_URL}/${id}`);

在这里插入图片描述

  • 配置文件先这样,创建一个帮助的文件
export const getJSON = async function (url) {try {const res = await fetch(url);const data = await res.json();if (!res.ok) throw new Error(`${data.message} (${res.status})`);return data;} catch (err) {console.log(err);}
};
  • 将请求放入单独的文件后,我们依然在model中引入一下,然后将重复性代码进行更换
import { getJSON } from './helpers.js';export const loadRecipe = async function (id) {try {const data = await getJSON(`${API_URL}/${id}`);const { recipe } = data.data;state.recipe = {id: recipe.id,title: recipe.title,publisher: recipe.publisher,sourceUrl: recipe.source_url,image: recipe.image_url,servings: recipe.servings,cookingTime: recipe.cooking_time,ingredients: recipe.ingredients,};console.log(state.recipe);} catch (err) {console.error(`${err}😰😰😰`);}
};
  • 这样我们基本上就完成了辅助和配置的文件,但是我们还要为getJSON函数加上一些定时之类的,让其变得更加的健壮,事件在控制器中写过,我们直接复制过来就好;
const timeout = function (s) {return new Promise(function (_, reject) {setTimeout(function () {reject(new Error(`Request took too long! Timeout after ${s} second`));}, s * 1000);});
};export const getJSON = async function (url) {try {const res = await Promise.race([fetch(url), timeout(5)]);const data = await res.json();if (!res.ok) throw new Error(`${data.message} (${res.status})`);return data;} catch (err) {throw err;}
};
  • 所以配置文件我们将一些配置项放入里面,以便更好的扩展和维护,比如将超时的时间也放入配置的文件中
export const TIMEOUT_SEC = 10;
import { TIMEOUT_SEC } from './config.js';
export const getJSON = async function (url) {try {const res = await Promise.race([fetch(url), timeout(TIMEOUT_SEC)]);const data = await res.json();if (!res.ok) throw new Error(`${data.message} (${res.status})`);return data;} catch (err) {throw err;}
};

http://www.ppmy.cn/news/1579149.html

相关文章

阿里云魔笔低代码应用开发平台快速搭建教程

AI低代码,大模型时代应用开发新范式 什么是魔笔 介绍什么是魔笔低代码应用开发平台。 魔笔是一款面向全端(Web、H5、全平台小程序、App)场景的模型驱动低代码开发平台,提供一站式的应用全生命周期管理,包括可视化开发…

【开源+代码解读】Search-R1:基于强化学习的检索增强大语言模型框架3小时即可打造个人AI-search

大语言模型(LLMs)在处理复杂推理和实时信息检索时面临两大挑战:知识局限性(无法获取最新外部知识)和检索灵活性不足(传统方法依赖固定检索流程)。现有方法如检索增强生成(RAG)和工具调用(Tool-Use)存在以下问题: RAG:单轮检索导致上下文不足,无法适应多轮交互场景…

软件工程概述、软件过程模型、逆向工程(高软45)

系列文章目录 软件工程概述、软件过程模型、逆向工程。 文章目录 系列文章目录前言一、软件工程概述二、能力成熟度模型1.能力成熟度模型CMM2.能力成熟度模型集成CMMI 三、软件过程模型1.瀑布模型SDLC2.原型化模型3.螺旋模型4.增量模型5.喷泉模型6.敏捷模型7.统一过程模型RUP 四…

基于deepseek的图像生成系统

目录 问题 核心思路 pollinations 提示词 基于deepseek的图像生成系统 项目说明 详细说明 1. 注册流程 2. 登录流程 3. 图片生成流程 4. 图片下载流程 项目结构 代码实现 1. 配置文件 config.py 2. 数据库模型 models.py 3. 解决循环引用 exts.py 4. 登录和…

大模型巅峰对决:DeepSeek vs GPT-4/Claude/PaLM-2 全面对比与核心差异揭秘

喜欢可以到主页订阅专栏 目录 技术架构对比性能表现与基准测试多模态与多语言能力推理效率与成本分析开源生态与行业适配应用场景与案例研究未来发展与技术趋势代码实现与调用示例1. 技术架构对比 DeepSeek:动态稀疏激活的混合专家系统(MoE) 动态路由机制:每个输入仅激活…

Opik - 开源 LLM 评估平台

文章目录 一、关于 Opik功能 二、🛠️ 安装三、🏁 开始使用1、📝 记录跟踪2、🧑‍⚖️ 作为法官的LLM指标3、🔍 评估您的 LLM 应用程序 一、关于 Opik Opik是一个开源平台,用于评估、测试和监控LLM应用程序…

游戏引擎学习第156天

仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾 昨天的工作主要是展示了如何制作一个基础的粒子系统,可以看到我们制作的粒子系统其实很简单。我们使用了一些现成的资源,而粒子系统的效果看起来还不错。 今天的计划 今天我们继续讲解粒子系统&am…

【机器人-基础知识】欧拉角、旋转矩阵和四元数

1. 欧拉角 1.1. 欧拉角的定义 欧拉角是一组三个角度,用于描述一个刚体在三维空间中的定向关系。具体来说,它们表示从一个固定参考坐标系到刚体坐标系的一系列旋转。常见的定义方式是将总体旋转分解为三个连续的简单旋转,每次旋转都绕着当前坐标系的某一固定轴进行。 例如,…