feat: Initial clean release of CHM
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
这个提交包含在:
34
packages/utils/net.ts
普通文件
34
packages/utils/net.ts
普通文件
@@ -0,0 +1,34 @@
|
||||
/* eslint-disable import/prefer-default-export */
|
||||
|
||||
import { msleep } from './time';
|
||||
|
||||
interface FetchWithRetryOptions extends RequestInit {
|
||||
retry?: number;
|
||||
callback?: (retry: number)=> void;
|
||||
pause?: number;
|
||||
}
|
||||
|
||||
export const fetchWithRetry = async (url: string, opts: FetchWithRetryOptions | null = null) => {
|
||||
if (!opts) opts = {};
|
||||
let retry = opts && opts.retry || 3;
|
||||
|
||||
while (retry > 0) {
|
||||
try {
|
||||
return fetch(url, opts);
|
||||
} catch (e) {
|
||||
if (opts && opts.callback) {
|
||||
opts.callback(retry);
|
||||
}
|
||||
retry = retry - 1;
|
||||
if (retry === 0) {
|
||||
throw e;
|
||||
}
|
||||
|
||||
if (opts && opts.pause) {
|
||||
await msleep(opts.pause);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
在新工单中引用
屏蔽一个用户