Машинопись жалуется на обещание. Потом - PullRequest
0 голосов
/ 04 мая 2018

Рассмотрим следующий код:

Promise.resolve('hello')
    .then(a => console.log(a))
    .catch(() => console.log("error"))
    .then(() => console.log("ok"));

Это вызывает у меня очень досадную ошибку:

предоставленные параметры не соответствуют ни одной сигнатуре цели вызова: ожидаемый 0 параметр (ы), но был вызван с 1 параметром (ами)

Обратите внимание, что я получаю это только для первого .then(...), тогда поймать и второе, по-видимому, не проблема.

Только для записи; код работает и выводит

hello
ok

Может быть, я должен также упомянуть, что он на самом деле компилируется. Я вижу ошибку в Visual Studio 2017. Когда я иду к определению , то открывает lib.es6.d.ts . Компиляция происходит с webpack 4, который использует TypeScript 2.8.3. В Visual Sudio я установил TypeScript 2.8.1 (не могу найти 2.8.3)

Если бы кто-то мог объяснить мне, почему это происходит. И еще лучше, как от этого избавиться; это будет высоко ценится.

1 Ответ

0 голосов
/ 15 июля 2018

У меня была та же проблема, и, как упоминалось в комментарии @JBC, она вызвана ReSharper. В моем случае я использовал довольно старую версию (2017.1.1), поэтому обновление до последней (или вообще ее отключение) исправило ее.

...