Javascript 节点js:意外的令牌'';尝试以花括号传递全局变量时

Javascript 节点js:意外的令牌'';尝试以花括号传递全局变量时,javascript,Javascript,我正在使用该软件包从网站获取页面 该网站在每个请求上设置一个新的会话cookie,因此为了保持登录状态,我需要使用cookie jar 下面是如何使用got文档中的cookie jar的示例: const {promisify} = require('util'); const got = require('got'); const {CookieJar} = require('tough-cookie'); (async () => { const cookieJar = ne

我正在使用该软件包从网站获取页面

该网站在每个请求上设置一个新的会话cookie,因此为了保持登录状态,我需要使用cookie jar

下面是如何使用got文档中的cookie jar的示例:

const {promisify} = require('util');
const got = require('got');
const {CookieJar} = require('tough-cookie');

(async () => {
    const cookieJar = new CookieJar();
    const setCookie = promisify(cookieJar.setCookie.bind(cookieJar));

    await setCookie('foo=bar', 'https://example.com');
    await got('https://example.com', {cookieJar});
})();
然而,在我的例子中,由于cookie在每次请求后都会重置,并且可以随时从脚本的许多不同区域发出请求,因此我将cookie jar定义为一个全局变量,如下所示:
global.cookieJar=new cookieJar()

但是,我发现自己无法将全局变量传递给
get()
函数。Got的文档仅显示通过将cookie jar放在花括号中将其传递给
Got()
函数。因此,我应该能够像这样传递变量:
await('https://example.com“,{global.cookieJar})
。但是,如果花括号中的变量包含
(),javascript会抛出
语法错误:意外标记“”,
并且不允许执行代码

如何将
global.cookieJar
传递到
got()
,而不导致语法错误?

语法:

const foo = 1;
const object = { foo };
是以下的简写:

const foo = 1;
const object = { foo: foo };
这方面有两个问题:

{global.cookieJar}
  • 标识符中不能有
    (因此语法错误)
  • 传递对象的函数要查找的属性名是
    cookieJar
    ,而不是
    global.cookieJar
不要用速记

{cookieJar: global.cookieJar}