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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅在promise解决后才使用值[重复]相关的知识,希望对你有一定的参考价值。

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

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

答案

您可能希望直接返回承诺

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

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

以上是关于仅在promise解决后才使用值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

ACF 默认值中的简码仅在保存帖子后才有效

仅在热重新加载后才加载我的值

[IE8&IE7 onchange事件仅在重复选择后才触发

Codeigniter 助手重复 HTML 代码片段

复选框输入是不是仅在选中后才发布数据?

仅在每个项目完成其方法调用后才返回