首页 > 解决方案 > 仅在 promise 解决时使用 value

问题描述

我有一个appservices已注册的组成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,作为服务注册异步并且在我第一次导入它时没有注册。

标签: javascriptecmascript-6promise

解决方案


您可能想直接返回承诺

return ORM.default.then((data) => {
    setupServices();
    instance.configure(initServices);
    return instance; //this is needed before service usage
});

这样你就可以使用app.then( ... )


推荐阅读