Рассмотрим следующий код:
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)
Если бы кто-то мог объяснить мне, почему это происходит. И еще лучше, как от этого избавиться; это будет высоко ценится.