Intellisense показывает неправильные свойства для обещания внутри » асинхронного` метода

#javascript #reactjs #typescript #javascript-intellisense

Вопрос:

Я заметил, что, когда обещание используется внутри async метода, на самом деле существует множество свойств, которые должны быть в IntelliSense.
Возьмем, к примеру, этот простой код (я использую REACT и нахожусь внутри компонента Hook, просто для того, чтобы дать вам контекст).

 const notAsyncMethod = () =gt; {  let a : Promiselt;stringgt; = new Promise(null); }  const asyncMethod = async () =gt; {  let a : Promiselt;stringgt; = new Promise(null); }  

Теперь, в первом случае, это предложения IntelliSense: введите описание изображения здесь

Именно этого я и ожидал.

Тогда, во втором случае, это то, что предлагает мне IntelliSense: введите описание изображения здесь

Почему это происходит? Это нормально, или может быть какая-то проблема с моим кодом? И, если это так, как это должно работать.. Почему это происходит и откуда берутся эти свойства?

Комментарии:

1. Похоже, Intellisense предполагает, что обещания выполняются await внутри асинхронной функции. Его предложения, похоже, указывают на то, что он думает, что ваш Promiselt;stringgt; -это просто строка.

2. Есть идеи, почему? Иначе это предположение неверно, я прав? Потому что, если это так, я мог бы сообщить об этой проблеме.

3. Мне кажется, это какой-то жук.