最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

请求承诺`.catch`引发错误

IT培训 admin 5浏览 0评论

请求承诺`.catch`引发错误

我想问一个关于nodeJS中的请求承诺的问题。

我是nodeJS的新手,到目前为止,我已经生成了以下代码:

const rp = require('request-promise');

rp('')
    .then((htmlstring) => {
        console.log(htmlstring);
    });

这一切正常。

当我添加如下所示的捕获循环时:

const rp = require('request-promise');

rp('')
    .then((htmlstring) => {
        console.log(htmlstring);
    });
    .catch((err) => {
        console.log('Error', err);
    }

我收到一个错误。

我很困惑。我读了一个先前的问题,该问题的一个解决方案是添加一个参数,但是在这种情况下,我做到了,即err

为什么会出现以下错误?

/workspace/APIcourse/JSONplaceholder.js:8
        .catch((err) => {
        ^

SyntaxError: Unexpected token .
    at new Script (vm.js:80:7)
    at createScript (vm.js:274:10)
    at Object.runInThisContext (vm.js:326:10)
    at Module._compile (internal/modules/cjs/loader.js:664:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
    at startup (internal/bootstrap/node.js:283:19)
回答如下:

您的错误是一个语法问题,您要在.then()之后添加分号,但是如果要使用catch来捕获潜在的错误,则需要先包含.catch(),然后插入分号。

正确的语法:

rp('https://jsonplaceholder.typicode/users/1')
    .then((htmlstring) => {
        console.log(htmlstring);
    }).catch((err) => {
        console.log('Error', err);
    };

请求承诺`.catch`引发错误

我想问一个关于nodeJS中的请求承诺的问题。

我是nodeJS的新手,到目前为止,我已经生成了以下代码:

const rp = require('request-promise');

rp('')
    .then((htmlstring) => {
        console.log(htmlstring);
    });

这一切正常。

当我添加如下所示的捕获循环时:

const rp = require('request-promise');

rp('')
    .then((htmlstring) => {
        console.log(htmlstring);
    });
    .catch((err) => {
        console.log('Error', err);
    }

我收到一个错误。

我很困惑。我读了一个先前的问题,该问题的一个解决方案是添加一个参数,但是在这种情况下,我做到了,即err

为什么会出现以下错误?

/workspace/APIcourse/JSONplaceholder.js:8
        .catch((err) => {
        ^

SyntaxError: Unexpected token .
    at new Script (vm.js:80:7)
    at createScript (vm.js:274:10)
    at Object.runInThisContext (vm.js:326:10)
    at Module._compile (internal/modules/cjs/loader.js:664:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
    at startup (internal/bootstrap/node.js:283:19)
回答如下:

您的错误是一个语法问题,您要在.then()之后添加分号,但是如果要使用catch来捕获潜在的错误,则需要先包含.catch(),然后插入分号。

正确的语法:

rp('https://jsonplaceholder.typicode/users/1')
    .then((htmlstring) => {
        console.log(htmlstring);
    }).catch((err) => {
        console.log('Error', err);
    };

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论