【发布时间】:2022-10-13 22:02:48
【问题描述】:
有什么方法可以让非异步函数返回已解析的 Promise 值?或者异步返回非承诺?
我有一个模块 A,我想在模块 B 中动态导入它。由于它是动态的,它会产生一个承诺。从模块 B 我想将它的一部分(adapterPromise 的已解析部分)公开为非 Promise 对象。
const foo = async () => {
return await adapterPromise;
};
export const MyAdapter = () => foo(); // I don't want this to be a Promise
我遇到的问题是,由于foo 是异步的,所以它总是会产生一个Promise,我想避免这种情况(原因是MyAdapter 包含我想反复调用的函数)据我所知,同一个 Promise 不应该被多次解决)。
可以使用顶级等待来执行此操作
export default await adapterPromise;
我很好奇这是否是唯一的方法。
【问题讨论】:
-
为什么不在承诺解决后在
MyAdapter中调用这些函数呢?
标签: javascript