"Отклоненное обещание не обработано в течение 1 секунды" vscode API - PullRequest
0 голосов
/ 14 февраля 2019

Итак, я работал над своим первым расширением vscode, и все шло хорошо, пока отладчик не остановил выполнение моего расширения.

Я довольно новичок в javascript, поэтому, возможно, я что-то пропустил »thenables ", но здесь моя проблема.

Я запускаю расширение с помощью сочетаний клавиш, например.« ctrl + alt + o », и все работает нормально, но в тот момент, когда я меняюсь » activeTextEditor « Я получаю » отклоненное обещание не выполнено в течение 1 секунды "в моей консоли отладки.

Подозреваемый раздел:

    const checkOutHeader = (history) => {
    console.log("Path: checkOutHeader");
    activeTextEditor.edit((editor) => {
        editor.replace(new vscode.Range(0,0,10,100), commentHeader(
            populateCheckOutHeader(head.out, history).substring(1), languageId));
    }).then((none)=>{
        console.log("We are here!");
        saveFile();
    });
};

Это основано на пути, который мое расширение зарегистрировало в консоли отладки:

CheckoutHeader: Now active!
Path: getHeaderConfig
lang: makefile
Path: supportHeaderLanguage
Path: checkInHandler
Path: getCurrentHeader
Path: getHistoryFileStatus
Path: getHeaderHistory
Path: getHistoryFileName
Path: getHistoryFileStatus
Path: getHistoryTimeIn
Path: getHistoryInBy
Path: getHistoryTimeOut
Path: getHistoryOutBy
Path: checkInHeader
rejected promise not handled within 1 second

Я читал, что некоторые люди утверждали, что это инструменты на С ++, но у меня не установлено это расширение.

Спасибо!

1 Ответ

0 голосов
/ 14 февраля 2019

Оказалось, что обещание никогда не было проблемой, несмотря на отладочную обратную связь.

Я установил глобальные переменные в верхней части моего файла

const activeTextEditor = vscode.window.activeTextEditor;
const document = activeTextEditor.document;
const languageId = document.languageId;

, чтобы сделать доступ к API более удобным., но в результате их запуска только при первом запуске расширения всякий раз, когда я меняю « activeTextEditor », переменная по-прежнему будет содержать старую информацию, вызывающую сбой ..

...