最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

运维笔记admin7浏览0评论

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

请求承诺`.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. 暂无评论