отклоненное обещание не обработано в течение 1 секунды vscode API

Итак, я работал над своим первым расширением 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

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

Спасибо!


person KR34T1V    schedule 14.02.2019    source источник
comment
Вероятно, вам понадобится catch((e) => после then(.   -  person jcubic    schedule 14.02.2019
comment
Какое обещание отклоняется и с каким сообщением об ошибке?   -  person Bergi    schedule 14.02.2019
comment
@jcbuic Я пробовал это, но, похоже, это не сработало.   -  person KR34T1V    schedule 14.02.2019
comment
@Bergi Я понятия не имею, это говорит только об отклоненном обещании, которое не обрабатывается в течение 1 секунды   -  person KR34T1V    schedule 14.02.2019
comment
@CorryTerblanche О. Вы должны сообщить, что как ошибка среды, она также всегда должна сообщать об ошибке.   -  person Bergi    schedule 14.02.2019
comment
@Bergi, Спасибо за совет, я потратил некоторое время на поиск ответов и увидел, что довольно много людей, у которых возникла эта проблема, где она случайно выдает эту ошибку, многие уже сообщили об этом. Тем не менее, спасибо за попытку помочь.   -  person KR34T1V    schedule 14.02.2019


Ответы (1)


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

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

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

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

person KR34T1V    schedule 14.02.2019