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