javascript - 如何在javascript中设置函数执行时间的限制?
问题描述
我有一个异步 javascript 函数。当该函数执行时,它可以结束并返回数据,也可以永远运行。我想限制这个函数的执行,这样如果它挂起,我可以在超时后停止它:
- 如果它的运行时间少于 10 秒(例如,它需要 4 秒完成),那么它不必等待 6 秒来执行下一条指令。
- 如果它需要超过 10 秒(以防函数永远不会响应),那么我想终止它。
有没有办法在不使用 setTimeout() 的情况下做到这一点(因为如果函数在超时之前结束执行,我不想等待)?
解决方案
如果您正在执行 API 调用,类似的库会axios
提供超时选项
import axios from axios ;
axios
.get(‘url’, {timeout: 3000})
.then((res) => console.log(res))
.catch((err) => console.log(err))
否则我认为,您可以在超时结束之前清除/终止超时:https ://stackoverflow.com/a/452007/10691892
推荐阅读
- node.js - 从 nodeJS 连接到 SQL Server 的问题
- javascript - 如何使 scrollTop Scrolldon 响应式
- reactjs - 无法使用 Redux 更新嵌套对象的属性
- javascript - 删除触发javascript效果的类时scss关键帧动画的问题
- javascript - 如何使范围滑块上的“滑块拇指”超出轨道
- python - 如何在熊猫python中用国家名称填充空白国家列
- android - curl 的响应是从 CircleCI 上的 gradle 调用的空蜂
- ios - 寻找一个特定的例子,其中 Operation 优于 GCD,反之亦然
- html - 超链接只应用于半个单词
- reactjs - 编辑包含 SVG 的第三方反应组件