跳到正文

适用版本:Cowork 0.1.41 · 适用于所有 Cowork 用户

查看 Markdown

生命周期 ​

MAESTROSDK.beforeRefresh(handler) ​

注册一个函数,在 Cowork 刷新这个 Mini App 的标签页之前运行,比如用户按了刷新按钮时。用它保住未保存的内容:询问、保存,或取消刷新。

参数 ​

名称类型必填说明
handler() => boolean | void | Promise<boolean | void>是每次刷新运行一次。返回 false(或 resolve 为 false 的 promise)会取消刷新。返回其他值则继续刷新

返回值 ​

() => void:调用它可移除这个处理函数。

行为 ​

  • 处理函数按添加顺序依次运行,每个都会被 await。
  • 第一个返回 false 的处理函数会取消刷新。处理函数抛出异常或 reject 也会取消刷新。
  • 没有处理函数时,标签页立即刷新。
  • 同一时间只处理一次刷新;正在处理时收到的第二次刷新请求会被忽略。
  • handler 不是函数时会被忽略,返回的函数什么也不做。

示例 ​

js
const off = MAESTROSDK.beforeRefresh(async () => {
  if (!form.dirty) return;
  return await MAESTROSDK.confirm({ title: 'Refresh?', message: 'Unsaved changes will be lost.' });
});
// later
off();

相关 ​

  • 交互 confirm,常在 beforeRefresh 里使用
  • 概览 Mini App SDK 的所有模块

适用于 Micromeet Cowork 0.1.41 · build 261111110020