Skip to content

createDownloadDispatcher ​

创建跨平台下载分发器:Electron → Capacitor Android → 浏览器回退。

前置依赖 ​

依赖参数 ​

参数名类型说明
adapters.isElectronDownloadAvailable(url) => booleanElectron 下载是否可用
adapters.downloadInElectron(options) => Promise<DownloadResult>Electron 实现
adapters.isCapacitorAndroidDownloadAvailable(url) => booleanCapacitor 是否可用
adapters.downloadInCapacitorAndroid(options) => Promise<DownloadResult>Capacitor 实现
adapters.mergeDefaultDownloadDirectory可选合并默认目录
deps.isElectron() => boolean是否 Electron 渲染进程
deps其余同 downloadInBrowserResolvedfetch + DOM

函数签名 ​

typescript
function createDownloadDispatcher(
  adapters: DownloadPlatformAdapters,
  deps: CreateDownloadDispatcherDeps,
): { download; downloadByUrl }

参数 ​

参数名类型必填说明
adaptersDownloadPlatformAdapters是平台适配器
depsCreateDownloadDispatcherDeps是环境依赖

返回值 ​

类型说明
{ download, downloadByUrl }download 异步完整选项;downloadByUrl fire-and-forget

工作原理 ​

  1. 可选合并默认下载目录。
  2. Electron 可用则优先;失败或非取消时回退浏览器。
  3. Capacitor Android 同理;最终走 downloadInBrowserResolved。