javascript - 从 fetch.then 内部导出函数
问题描述
我的代码中有一个 fetch 来获取一个 csv 文件,将数据转换为一个数组,然后我在我的 .then 中有多个函数,然后使用该数组。
现在我在另一个文件中使用 Jest 编写了一些单元测试,我想将函数导出到我的 .then 中,以便对其进行测试。代码如下:
fetch('./public/documents/afkoopgrenzen.csv')
.then((e) => {
function calc(year) {
if (1994 < year && year <= 2018){
let result =
data.filter(function(data) {
return data.Jaar == year
})
return result[0]["Wettelijke afkoopgrens"]
} else {
return 0
}
}
module.exports = calc
})
然后在我的 script.test.js 文件中,我尝试使用
const tester = require('./script')
然后我运行我的测试,我知道测试自己工作,但现在他们只是说 calc 不是一个函数,因为显然 module.exports = calc 在 .then 范围内完成时不起作用。我无法将我的函数带出 then 范围,并且看不到将函数导出到我的测试文件的其他方法。我希望这对任何人都有意义。
让我总结一下:我需要从 .then 范围导出我的函数,以便在另一个 .js 文件中使用。
解决方案
推荐阅读
- sql - 如何使用纯 sql 将查询或连接结果放入一个字段
- html - 选中复选框时如何设置父元素的样式?
- wordpress - 缓存的 jquery 文件和缓存的 css 会减慢页面速度
- html - 使用 CSS 格式化 Razor cshtml 文件:empty 伪类
- java - Allure @Step 注释未出现在 Allure 报告(Maven/TestNG)中
- c# - CS0426 类型名称 ' ' 不存在于类型 ' '
- android-studio - 虚拟 Ubuntu 18 上的 Android Studio 问题
- elasticsearch - Elasticsearch 邻近查询
- java - Java - 解析 JSON 有效负载,省略数组中的损坏对象
- docker - 具有副本的 Docker 群服务与具有进程分叉功能的单个容器