javascript - 仅在 promise 解决时使用 value
问题描述
我有一个app
由services
已注册的组成async
。
在我第一次使用之前,app
我希望应用程序注册所有services
. 我想以某种方式返回一个Promise
并且只then
返回我需要的特定服务。
export function app() {
if (instance) return instance;
instance = express(feathers());
ORM.default.then((data) => {
setupServices();
instance.configure(initServices);
return instance; //this is needed before service usage
});
return instance;
}
export function service(name) {
return app().service(name);
}
其他文件:
import { service } from '../app';
const teamService = service('team');
目前 teamService 是null
,作为服务注册异步并且在我第一次导入它时没有注册。
解决方案
您可能想直接返回承诺
return ORM.default.then((data) => {
setupServices();
instance.configure(initServices);
return instance; //this is needed before service usage
});
这样你就可以使用app.then( ... )
推荐阅读
- javascript - 如何在 Vue 3 中将道具与组件的本地数据进行双向绑定?
- flutter - 在flutter中从for循环中定义动态控制器名称变量
- file - FFMPEG - 从 rtsp 流到固定文件的无休止录制
- arrays - 指向整数数组的指针VS指向C中的char数组的指针
- oracle - 我的程序在 Oracle 数据库中没有显示正确的错误信息
- html - 是否有理由将 div 的 id 定位在 body 内而不仅仅是 body
- mysql - 用户友好的 Mac OS 工具,用于查看和编辑 mySQL 数据
- python - 根据比例重新分配总价值
- python - 即使在安装 PortAudio 后安装 PyAudio 也出错
- javascript - HTML & JS:如何从嵌入式网页订阅事件?