# 应用控制

## platform.app.close()

向宿主请求关闭当前应用标签。此方法没有返回值，也没有关闭完成的 Promise。关闭后，iframe 和应用内存状态被销毁。

```js preview height=240
export default function render(root, platform) {
  const ui = platform.ui;
  root.replaceChildren(ui.page([ui.card([
    ui.title("处理完成"),
    ui.hint("持久数据已经保存后，可以关闭应用。"),
    ui.button("关闭应用", () => {
      if (platform.can("app.close")) platform.app.close();
      else ui.toast("请使用宿主提供的返回或关闭入口。");
    }),
  ])]));
}
```

文档预览会在示例下方显示关闭请求，不会关闭文档页面。

## 保存后再关闭

如果需要先保存草稿，请先等待数据写入成功，再调用 `close()`。不要在调用后继续安排关键任务，因为运行环境随时可能被销毁。

切换到其它标签或对话不会调用 `close()`，应用仍然保持运行。不过浏览器可能限制后台 iframe 的计时器频率，不应依赖它执行可靠后台任务。

当前没有打开另一个应用、系统深链接、安装卸载、应用更新通知或关闭拦截的 `platform.app` 方法。
