Javascript Typescript抱怨承诺,然后

Javascript Typescript抱怨承诺,然后,javascript,visual-studio,typescript,promise,es6-promise,Javascript,Visual Studio,Typescript,Promise,Es6 Promise,考虑以下代码: Promise.resolve('hello') .then(a => console.log(a)) .catch(() => console.log("error")) .then(() => console.log("ok")); 这给我带来了一个非常恼人的错误: 提供的参数与调用目标的任何签名不匹配: 应为0个参数,但已使用1个参数调用 请注意,我只在第一个中得到这个。然后(…),捕获和第二个显然没有问题 记录在案;代码工作并输

考虑以下代码:

Promise.resolve('hello')
    .then(a => console.log(a))
    .catch(() => console.log("error"))
    .then(() => console.log("ok"));
这给我带来了一个非常恼人的错误:

提供的参数与调用目标的任何签名不匹配: 应为0个参数,但已使用1个参数调用

请注意,我只在第一个
中得到这个。然后(…)
,捕获和第二个显然没有问题

记录在案;代码工作并输出

hello
ok
也许我还应该提到它实际上是编译的。我在Visual Studio 2017中看到了错误。当我转到的定义时,它将打开lib.es6.d.ts。使用TypeScript 2.8.3的webpack 4进行编译。在Visual Sudio中,我安装了TypeScript 2.8.1(找不到2.8.3)


如果有人能向我解释为什么会这样。更好的是,如何摆脱它;这将非常感谢。

我也有同样的问题,正如@JBC的评论所暗示的,这是由ReSharper引起的。就我而言,我运行的是一个相当旧的版本(2017.1.1),因此更新到最新版本(或完全禁用)修复了它。

无法复制。您使用的是什么版本的TypeScript?您确定此错误消息来自TypeScript而不是linter(例如)?此错误消息无法复制,应按预期工作。直接在VS外部使用
tsc
不会出现此错误,是吗?@str:据我所知,没有配置过梁,键入脚本版本为2.8。3@estus:不,的确,这似乎是一个VS问题。当我运行tsc时,我在文件节点_modules/@types/react hot loader/index.d.ts中得到了3个错误,但不是我在VS中看到的错误。是否可以尝试用花括号包装函数体?ie
then(a=>{console.log(a)})