本文整理汇总了TypeScript中core/application.Application.ready方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Application.ready方法的具体用法?TypeScript Application.ready怎么用?TypeScript Application.ready使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类core/application.Application
的用法示例。
在下文中一共展示了Application.ready方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getAccountForInstance
public getAccountForInstance(cloudProvider: string, instanceId: string, app: Application): IPromise<string> {
return app.ready().then(() => {
const serverGroups = app.getDataSource('serverGroups').data as IServerGroup[];
const loadBalancers = app.getDataSource('loadBalancers').data as ILoadBalancer[];
const loadBalancerServerGroups = loadBalancers.map(lb => lb.serverGroups).reduce((acc, sg) => acc.concat(sg), []);
const hasInstance = (obj: IServerGroup | ILoadBalancer) => {
return obj.cloudProvider === cloudProvider && (obj.instances || []).some(instance => instance.id === instanceId);
};
const all: (IServerGroup | ILoadBalancer)[] = [].concat(serverGroups).concat(loadBalancers).concat(loadBalancerServerGroups);
const found = all.find(hasInstance);
return found && found.account;
});
}
示例2: if
return this.getAccounts().then(accounts => {
const skins = accounts.reduce((versions, account) => {
if (account.cloudProvider === cloudProvider && !!account.skin) {
versions.add(account.skin);
}
return versions;
}, new Set<string>());
if (skins.size === 0) {
// Rely on the CloudProviderRegistry to return the default skin implementation.
return null;
} else if (skins.size === 1) {
return Array.from(skins)[0];
}
return app.ready().then(() => {
for (const serverGroup of app.getDataSource('serverGroups').data as IServerGroup[]) {
if (
serverGroup.cloudProvider === cloudProvider &&
(serverGroup.instances || []).some(instance => instance.id === instanceId)
) {
return this.mapAccountToSkin(serverGroup.account);
}
}
for (const loadBalancer of app.getDataSource('loadBalancers').data as ILoadBalancer[]) {
if (loadBalancer.cloudProvider === cloudProvider) {
if ((loadBalancer.instances || []).some(instance => instance.id === instanceId)) {
return this.mapAccountToSkin(loadBalancer.account);
}
// Hit a crazy Babel bug - can't return from a nested for...of loop.
for (let i = 0; i < (loadBalancer.serverGroups || []).length; i++) {
const serverGroup = loadBalancer.serverGroups[i];
if (
serverGroup.isDisabled &&
(serverGroup.instances || []).some(instance => instance.id === instanceId)
) {
return this.mapAccountToSkin(loadBalancer.account);
}
}
}
}
return null;
});
});