gpt4 book ai didi

javascript - Node.js 中的 Async module.exports 依赖

转载 作者:搜寻专家 更新时间:2023-11-01 00:39:32 25 4
gpt4 key购买 nike

我在 Node.js 中有两个相互依赖的测试文件。第一个测试运行一些异步工作,最后导出一个具有第二个测试所需的 UUID 的对象。

test_1.js

'use strict';

# simulate some async work
setTimeout(() => {
module.exports = {
id: '83b50527-73a9-4926-8247-e37547f3da6d'
};
}, 2000);

test_2.js

'use strict';

const testOne = require('./test_1.js');
console.log(testOne);

问题是因为 module.exports 在第一个测试中被称为异步,在测试中两个 console.log(testOne) 只是一个空对象。

如何让 test_2.js 等到 test_1.js 完成导出?

最佳答案

promise 救援是它的一种时尚。

test_1.js

module.exports = new Promise(resolve => {
setTimeout(() => resolve({
id: '83b50527-73a9-4926-8247-e37547f3da6d'
}), 2000);
});

test_2.js

const testOne = require('./test_1.js');
testOne.then(uuid => console.log(uuid.id));

请记住,每次导入 test_1.js 时都会返回相同的 promise 实例。这会影响 promise 实例的使用方式。

关于javascript - Node.js 中的 Async module.exports 依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39759596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com