gpt4 book ai didi

javascript - Node JS 异步模块初始化模式

转载 作者:行者123 更新时间:2023-11-30 14:34:58 24 4
gpt4 key购买 nike

我需要在模块启动期间异步获取一些数据并将返回值保存为顶级变量。在初始化此变量之前,不应调用模块的其他方法。

所以基本上我需要这样的东西:

myModule.js
===========

// i can't use await here...
const importantData = await fetch('/my-service');

exports.myMethod = function () {
// do something with importantData
}

所以,

  1. 顶级importantData是 promise

  2. 如果有人调用 myMethod 方法,那么它应该推迟它的执行,直到顶级 const 被解析为止

  3. 我不想使用let

解决这个问题的优雅方法是什么?

谢谢

最佳答案

您需要使 myMethod 异步:

const importantDataPromise = fetch('/my-service'); 

exports.myMethod = async function () {
const importantData = await importantDataPromise;
... // Do stuff with importantData.
}

关于javascript - Node JS 异步模块初始化模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50574119/

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