【问题标题】:Fetch request failing in Node.js (Client network socket disconnected before secure TLS connection was established)在 Node.js 中获取请求失败(客户端网络套接字在建立安全 TLS 连接之前断开)
【发布时间】:2020-08-21 00:04:34
【问题描述】:

我刚刚从这个Github page 加载了来自Tensorflow Toxicity classifier 示例的样板代码。

这是index.js中的代码-

const toxicity = require('@tensorflow-models/toxicity');

const threshold = 0.9;

toxicity.load(threshold).then((model) => {
  const sentences = ['you suck'];

  model.classify(sentences).then((predictions) => {
    console.log(predictions);
  });
});

如果您需要完整的项目,这里是GitHub repo

但是当我运行代码时,它给了我以下错误 -

(node:2180) UnhandledPromiseRejectionWarning: FetchError: request to https://storage.googleapis.com/tfjs-models/savedmodel/universal_sentence_encoder/vocab.json failed, reason: Client network socket disconnected before secure TLS connection was established
    at ClientRequest.<anonymous> (D:\xampp\htdocs\nodejs-projects\simple-node\node_modules\node-fetch\lib\index.js:1393:11)
    at ClientRequest.emit (events.js:310:20)
    at TLSSocket.socketErrorListener (_http_client.js:426:9)
    at TLSSocket.emit (events.js:310:20)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
(node:2180) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2180) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:2180) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

我在谷歌上查了一些错误,有很多这样的问题,但没有有效的答案。

这是我已经采取的一些措施来消除可能存在的问题 -

  1. 干净安装最新版Node.js
  2. 检查我是否设置了任何代理(我从未这样做过...)

附加信息 -

操作系统:Windows 10(64 位)(1909 版) 节点版本:v12.16.3

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript node.js tensorflow promise


    【解决方案1】:

    上面的代码在我的电脑上运行良好。 先运行这个重试

    npm install @tensorflow/tfjs @tensorflow-models/toxicity
    

    发布你可以运行此代码的帖子

    const toxicity = require('@tensorflow-models/toxicity');
    
    const threshold = 0.9;
    
    toxicity.load(threshold).then((model) => {
        const sentences = ['you suck'];
    
        model.classify(sentences).then((predictions) => {
            console.log(predictions);
        });
    });
    

    这是我的输出

    有时模块可能没有完全安装其依赖项。删除您当前的 node_modules 并重试。

    如果上述方法不起作用。检查您的节点版本。使用 TLS 的节点 10.1.0 中存在错误 https://github.com/nodejs/node/issues/21088

    更新您的节点版本并尝试

    【讨论】:

    • 问题仍然存在......我得到完全相同的错误...... :我创建了一个新文件夹并重新运行以下 npm 脚本 npm init -ynpm install @tensorflow/tfjs @tensorflow-models/toxicitynode .
    • 你有代理吗?
    • 更新了我对另一种方法的回答。让我知道这是怎么回事
    • 我的 Node.js 版本是 v12.16.3,据我所知,我还没有配置任何代理。如果有任何方法可以确定我是否有代理,请告诉我......
    • 检查您要获取的网址,首先从浏览器中获取:storage.googleapis.com/tfjs-models/savedmodel/…,如果可行,我们将尝试另一件事
    【解决方案2】:

    如果这只是一个警告,你可以使用参数;

    --unhandled-rejections=none
    

    以下是从 node.js 文档中复制的;

    添加于:v12.0.0、v10.17.0

    默认情况下,如果未使用 unhandledRejection 挂钩,所有未处理的拒绝都会触发警告以及第一个未处理拒绝的弃用警告。

    使用此标志可以更改发生未处理拒绝时应该发生的情况。可以选择以下三种模式之一:

    strict: Raise the unhandled rejection as an uncaught exception.
    warn: Always trigger a warning, no matter if the unhandledRejection hook is set or not but do not print the deprecation warning.
    none: Silence all warnings.
    

    您可以在这里阅读更多内容https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode

    【讨论】:

      猜你喜欢
      • 2020-04-22
      • 2020-08-15
      • 2020-09-18
      • 2020-08-06
      • 2020-08-07
      • 2019-05-04
      • 2021-09-15
      • 2022-11-10
      • 2021-02-25
      相关资源
      最近更新 更多