首页 > 解决方案 > 从 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 文件中使用。

标签: javascriptjestjs

解决方案


推荐阅读