小编sen*_*ico的帖子

对于成功的同源请求,提取将引发“ TypeError:提取失败”

使用单页JavaScript应用程序进行提取请求时,我们遇到了不一致的客户端错误。值得注意的是,它们都是相同来源的请求。

let request = new Request(url, options);
...
window.fetch(request)
  .then(response => response.json())
  .then(data => ...)
  .catch(error => ...)
Run Code Online (Sandbox Code Playgroud)

尽管服务器和浏览器收到200 OK响应,但仍有大约5%的承诺被拒绝并出现以下错误:

TypeError: Failed to fetch
Run Code Online (Sandbox Code Playgroud)

我很困惑...我所有的搜索都引发了有关CORS错误的讨论。鉴于这些都是相同来源的请求,因此似乎并不适用。是什么原因导致访存抛出TypeError

我可以使用Chrome DevTools中的“网络”标签来确认获取请求已完成,其中包含200 OK响应和有效的JSON。我还可以确认网址是相同来源的。我还可以确认没有CORS飞行前请求。我已经在Chrome 66和Safari 11.1上重现了此问题。但是,我们收到了来自Chrome和Safari版本(台式机和移动版)的一系列错误报告。


编辑:

这似乎不是链接问题的重复项,因为我们没有发送CORS请求,也没有设置mode: "no-cors",也没有设置Access-Control-Allow-Origin标题。

此外,我使用mode: 'same-origin'明确设置的选项重新运行了测试。请求(仍然)成功;但是,我们(仍然)收到间歇性信号TypeError

javascript fetch

8
推荐指数
1
解决办法
3339
查看次数

使用Mono 5编译包含ValueTuple的C#7代码

我正在尝试使用Mono 5在Linux构建服务器上编译我的新C#7代码.不幸的是,当我使用新的ValueTuple语法时,项目失败:

MyClass.cs(100,38):错误CS1003:语法错误,'('expected [/path/to/My.csproj]

我的项目文件中有以下包引用:

<PackageReference Include="System.ValueTuple" Version="4.3.0" />
Run Code Online (Sandbox Code Playgroud)

我在快速构建脚本中使用以下命令:

# msbuild My.sln /t:restore
# msbuild My.sln /p:Configuration=Release /p:Platform="Any CPU"
Run Code Online (Sandbox Code Playgroud)

并且MSBuild日志指示语言版本为7并显示对System.ValueTuple.dll的引用:

CoreCompile:

/usr/lib/mono/4.5/csc.exe/noconfig/unsafe-/checked-/nowarn:1701,1702,1705,1701,1702 / langversion:7/nostdlib +/errorreport:prompt/warn:4/doc:bin /Release/net461/My.xml/define:TRACE; RELEASE; NET461/highentropyva + ... /reference:/root/.nuget/packages/system.valuetuple/4.3.0/lib/netstandard1.0/System.ValueTuple. dll .../debug-/debug:portable/filealign:512/nologo/optimize + /out:obj/Release/net461/My.dll /subsystemversion:6.00/target:library/warnaserror-/utf8output/deterministic + My.cs" /tmp/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs"obj/Release/net461/My.AssemblyInfo.cs

有没有人使用Mono 5在Linux上使用新的ValueTuple语法成功编译C#?它只是工作,还是你需要调整环境才能使它工作?

我的构建服务器正在运行Ubuntu 16.04并安装了mono-devel 5.0.1.1-0xamarin5 + ubuntu1604b1.

c# linux mono c#-7.0

5
推荐指数
1
解决办法
639
查看次数

在 create-react-app 项目中使用 jest-junit 的测试覆盖率失败

在 create-react-app/react-scripts@2.1.1 项目中,我尝试使用jest-junit生成覆盖报告。不幸的是,它失败了:

$ yarn run test --coverage
      Failed to write coverage reports:
      ERROR: Error: Invalid report format [jest-junit]
      STACK: Error: Invalid report format [jest-junit]
  at Object.module.exports.create (D:\Users\username\Documents\Project\node_modules\istanbul-api\lib\input-error.js:6:15)
  at Reporter.add (D:\Users\username\Documents\Project\node_modules\istanbul-api\lib\reporter.js:51:30)
  at D:\Users\username\Documents\Project\node_modules\istanbul-api\lib\reporter.js:62:18
  at Array.forEach (<anonymous>)
  at Reporter.addAll (D:\Users\username\Documents\Project\node_modules\istanbul-api\lib\reporter.js:61:14)
  at D:\Users\username\Documents\Project\node_modules\jest-cli\build\reporters\coverage_reporter.js:180:18
  at Generator.next (<anonymous>)
  at step (D:\Users\username\Documents\Project\node_modules\jest-cli\build\reporters\coverage_reporter.js:75:30)
  at D:\Users\username\Documents\Project\node_modules\jest-cli\build\reporters\coverage_reporter.js:86:15
  at process._tickCallback (internal/process/next_tick.js:68:7)
Run Code Online (Sandbox Code Playgroud)

如果我运行,我不会遇到任何错误yarn run test。以下配置块已添加到项目package.json文件中:

{
  ...
  "jest": {
    "collectCoverageFrom": [
      "src/**/*.{js,jsx,ts,tsx}",
      "!src/**/*.d.ts",
      "!src/**/__stories__/",
      "!<rootDir>/node_modules/"
    ],
    "coverageReporters": [
      "jest-junit"
    ]
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

有人在 …

jestjs create-react-app

2
推荐指数
1
解决办法
3159
查看次数

标签 统计

c# ×1

c#-7.0 ×1

create-react-app ×1

fetch ×1

javascript ×1

jestjs ×1

linux ×1

mono ×1