本文整理匯總了TypeScript中common/actions.actions.setupDone方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript actions.setupDone方法的具體用法?TypeScript actions.setupDone怎麽用?TypeScript actions.setupDone使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類common/actions.actions
的用法示例。
在下文中一共展示了actions.setupDone方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: initialSetup
async function initialSetup(store: IStore, { retry }) {
try {
store.dispatch(
actions.setupStatus({
icon: "install",
message: ["login.status.finalizing_installation"],
})
);
if (!manager) {
manager = new Manager(store);
}
await manager.ensure();
await Promise.race([
initialButlerdPromise,
new ItchPromise((resolve, reject) => {
setTimeout(() => {
reject(new Error("Timed out while connecting to butlerd"));
}, 5000);
}),
]);
await syncInstallLocations(store);
store.dispatch(actions.setupDone({}));
logger.info(`Setup done`);
} catch (e) {
logger.error(`setup got error: ${e.stack}`);
if (retry) {
// UX trick #239408: sometimes setup is so fast,
// it does't feel like anything happened,
// so let the user see that we tried.
await delay(1000);
}
store.dispatch(
actions.setupStatus({
icon: "error",
message: ["login.status.setup_failure", { error: e.message || "" + e }],
stack: e.stack,
})
);
}
}
示例2: initialSetup
async function initialSetup(store: Store, { retry }: { retry: boolean }) {
try {
logger.info(`Setup starting...`);
store.dispatch(
actions.setupStatus({
icon: "install",
message: ["login.status.finalizing_installation"],
})
);
if (!manager) {
logger.info(`Creating broth manager`);
manager = new Manager(store);
}
const prefs = store.getState().preferences;
const setUpVersionOnceBefore =
app.getVersion() === prefs.lastSuccessfulSetupVersion;
logger.info(`Ensuring broth dependencies, for startup`);
await manager.ensure({
startup: true,
logger,
});
if (env.development) {
logger.info(`In development, forcing components upgrade check`);
await manager.upgrade({ logger });
} else if (!setUpVersionOnceBefore) {
logger.info(
`Never set up ${app.getVersion()} successfully before, forcing components upgrade check`
);
await manager.upgrade({ logger });
store.dispatch(
actions.updatePreferences({
lastSuccessfulSetupVersion: app.getVersion(),
})
);
} else {
logger.info(
`Already set up ${app.getVersion()} once, delaying components upgrade check`
);
}
logger.debug(`Waiting for butler promise...`);
await Promise.race([
initialButlerdPromise,
new ItchPromise((resolve, reject) => {
setTimeout(() => {
reject(new Error("Timed out while connecting to butlerd"));
}, 5000);
}),
]);
logger.debug(`Syncing install locations...`);
await syncInstallLocations(store);
logger.debug(`Dispatching setup done!`);
store.dispatch(actions.setupDone({}));
logger.info(`Setup done`);
} catch (e) {
logger.error(`setup got error: ${e.stack}`);
if (retry) {
// UX trick #239408: sometimes setup is so fast,
// it does't feel like anything happened,
// so let the user see that we tried.
await delay(1000);
}
store.dispatch(
actions.setupStatus({
icon: "error",
message: ["login.status.setup_failure", { error: e.message || "" + e }],
rawError: e,
log: logger.getLog(),
})
);
}
}