Время жизни операции11 / 13

Асинхронные операции и выход из сцены

Проверим, остался ли компонент включён после загрузки.

В команде для такой проверки есть awaitSceneScope. В компоненте используем awaitComponentScopeResource, если результат загрузки нужно освободить.

const spawned = await this.awaitComponentScopeResource(
  this.node.spawnPrefab({
    prefabId: this.config.prefabId,
    localId: 'preview',
  }),
  (resource) => resource.dispose(),
);
if (!spawned) return;
spawned.node.setVisible(true);

Если компонент успел отключиться, метод освободит префаб и вернёт undefined.

Владелец активенОперация завершилась → результат используется
Владелец удалёнОперация завершилась → ресурс освобождён → продолжение пропущено
Проверка после await не отменяет сетевой запрос; она ограничивает применение результата.

В своём onDetach вызываем super.onDetach(), чтобы SDK остановил анимации, добавленные через ownTween.