仅在promise解决后才使用值[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我有一个app,其中包括注册servicesasync

我第一次使用app之前我希望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,作为服务注册异步,并且在我第一次导入它时没有注册。

javascript ecmascript-6 promise
1个回答
1
投票

您可能希望直接返回承诺

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

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

© www.soinside.com 2019 - 2024. All rights reserved.