BrowserWindow.fromId возвращает окна, которые были разрушены? - PullRequest
0 голосов
/ 03 октября 2018

Когда я создаю BrowserWindow в Electron и выполняю над ним операции, я обычно проверяю, уничтожено ли окно:

const window = new BrowserWindow(opts);
setMyWindow(window);

// ... later
const window = getMyWindow();
if (window && !window.isDestroyed()) {
    // do something on the window
}

Причина заключается в том, что если пользователь закрывает окно,переменная window все равно будет установлена, так как я явно не обнуляю ее, но фактическое окно, в котором мои BrowserWindow обертки будут недействительными, и это, вероятно, то, что isDestroyed() проверяет.

Есть ли случаи, когда нет необходимости выполнять проверку?

В частности, BrowserWindow.fromId(windowId); возвращает разрушенные окна?Если fromId дает мне окно, могу ли я безопасно не проверять isDestroyed() или мне все еще нужно?

1 Ответ

0 голосов
/ 03 октября 2018

Сделал быструю проверку, и если вы закроете BrowserWindow, нажав X или вызвав window.close(), BrowserWindow.fromId(myWindowId) вернет null.

Итак, если вы выбираете окно через BrowserWindow.fromId вам не нужно проверять, уничтожен ли он.Если вы не используете fromId и просто сохраняете и получаете окно из переменной, тогда вам все равно следует проверить isDestroyed().

При этом я не уверен, что есть другие случаи, когдавызов isDestroyed() является избыточным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...