本文整理汇总了TypeScript中common/butlerd.asRequestError函数的典型用法代码示例。如果您正苦于以下问题:TypeScript asRequestError函数的具体用法?TypeScript asRequestError怎么用?TypeScript asRequestError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了asRequestError函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: makeInstallErrorModal
export function makeInstallErrorModal(params: InstallErrorParams) {
let buttons: IModalButtonSpec[] = [];
let detail: ILocalizedString;
let shouldRetry = true;
let forceDetails = false;
const { store, e, log, retryAction, stopAction, game } = params;
const { i18n } = store.getState();
const re = asRequestError(e);
if (re) {
switch (re.rpcError.code) {
case messages.Code.UnsupportedPackaging: {
const learnMore = t(i18n, ["docs.how_to_help"]);
detail = `[${learnMore}](https://itch.io/docs/itch/integrating/quickstart.html)`;
shouldRetry = false;
forceDetails = true;
break;
}
}
}
if (shouldRetry) {
buttons = [
...buttons,
{
label: ["game.install.try_again"],
icon: "repeat",
action: retryAction(),
},
];
}
buttons = [
...buttons,
{
label: ["grid.item.discard_download"],
icon: "delete",
action: stopAction(),
},
"cancel",
];
return modalWidgets.showError.make({
window: "root",
title: ["prompt.install_error.title"],
message: t(i18n, formatError(e)),
detail,
widgetParams: { rawError: e, log, forceDetails, game },
buttons,
});
}
开发者ID:HorrerGames,项目名称:itch,代码行数:54,代码来源:make-install-error-modal.ts
示例2: isNetworkError
export function isNetworkError(e: Error) {
// this operates under the assumption that:
// * all our internal network errors should start with "err::"
// * all of chrome's already do
// * we transform fetch's into err:: variants.
// we coerce e.message into a string on the off chance that it's not defined
// or not a string.
const isJavaScriptNetworkError = e && ("" + e.message).indexOf("net::") === 0;
if (isJavaScriptNetworkError) {
return true;
}
const re = asRequestError(e);
if (re) {
if (re.rpcError.code === Code.NetworkDisconnected) {
return true;
}
}
return false;
}
开发者ID:itchio,项目名称:itch,代码行数:21,代码来源:errors.ts
示例3: async
onError: async (e: Error, log) => {
let title = game ? game.title : "<missing game>";
const re = asRequestError(e);
if (re) {
switch (re.rpcError.code) {
case Code.OperationAborted:
// just ignore it
return;
case Code.InstallFolderDisappeared:
// oh we can do something about that.
store.dispatch(
actions.openModal(
modalWidgets.naked.make({
window: "root",
title: ["game.install.could_not_launch", { title }],
coverUrl: game.coverUrl,
stillCoverUrl: game.stillCoverUrl,
message: `The folder where **${title}** was installed doesn't exist anymore.`,
detail: `That means we can't open it.`,
bigButtons: [
{
icon: "delete",
label: "Remove install entry",
tags: [{ label: "Recommended" }],
action: actions.queueCaveUninstall({ caveId: cave.id }),
},
{
icon: "folder-open",
label: "Open parent folder",
className: "secondary",
tags: [{ label: "Seeing is believing." }],
action: actions.exploreCave({ caveId: cave.id }),
},
],
buttons: ["nevermind"],
widgetParams: null,
})
)
);
return;
}
}
await promisedModal(
store,
modalWidgets.showError.make({
window: "root",
title: ["game.install.could_not_launch", { title }],
coverUrl: game.coverUrl,
stillCoverUrl: game.stillCoverUrl,
message: t(store.getState().i18n, formatError(e)),
detail: isInternalError(e)
? ["game.install.could_not_launch.detail"]
: null,
widgetParams: { rawError: e, log, game, forceDetails: true },
buttons: [
{
label: ["prompt.action.ok"],
},
{
label: showInExplorerString(),
className: "secondary",
action: actions.exploreCave({ caveId: cave.id }),
},
"cancel",
],
})
);
},
开发者ID:HorrerGames,项目名称:itch,代码行数:71,代码来源:queue-launch.ts
示例4: showInstallErrorModal
export async function showInstallErrorModal(params: InstallErrorParams) {
let buttons: ModalButtonSpec[] = [];
let detail: LocalizedString;
let shouldRetry = true;
let forceDetails = false;
const { store, e, log, retryAction, stopAction, game } = params;
const { i18n } = store.getState();
const re = asRequestError(e);
if (re) {
switch (re.rpcError.code) {
case messages.Code.UnsupportedPackaging: {
const learnMore = t(i18n, ["docs.how_to_help"]);
detail = `[${learnMore}](https://itch.io/docs/itch/integrating/quickstart.html)`;
shouldRetry = false;
forceDetails = true;
break;
}
}
}
if (shouldRetry) {
buttons = [
...buttons,
{
label: ["game.install.try_again"],
icon: "repeat",
action: retryAction(),
},
];
}
buttons = [
...buttons,
{
label: ["grid.item.discard_download"],
icon: "delete",
action: "widgetResponse",
},
"cancel",
];
const allowReport = isInternalError(e);
const typedModal = modals.showError.make({
wind: "root",
title: ["prompt.install_error.title"],
message: t(i18n, formatError(e)),
detail,
widgetParams: {
rawError: e,
log,
forceDetails,
game,
showSendReport: allowReport,
},
buttons,
});
const res = await promisedModal(store, typedModal);
if (res) {
store.dispatch(stopAction());
if (allowReport && res.sendReport) {
store.dispatch(
actions.sendFeedback({
log: mergeLogAndError(log, e),
})
);
}
}
}
开发者ID:itchio,项目名称:itch,代码行数:75,代码来源:show-install-error-modal.ts
注:本文中的common/butlerd.asRequestError函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论