为什么我得到对已经定义的全局变量的引用错误?

时间:2019-01-13 21:15:31

标签: javascript node.js global-variables request-promise

我最近在Node JS中尝试了request-promise模块,由于某种原因,当我在请求中的函数中定义全局变量,并尝试在函数外部使用变量时,未定义变量的参考错误。问题是,我确实已经定义了变量,并且将其设置为全局变量,所以我不明白为什么会收到此错误。这是发生它的代码:

function kithCheckoutLink(size, link, amount){
    xml = link + '.xml'
    console.log(xml)
    rp.get({uri: xml, headers: {'User-Agent': useragent}}, function(err, resp, body){
        var soup = new jssoup(body);
        var producttag = soup.find('title');
        var productname = (producttag.text);
        console.log(productname);
        var sizetag = soup.find('title', undefined, size);
        var varianttag = sizetag.parent.find('id', attrs={'type':'integer'});
        var variant = varianttag.text;
        console.log(variant);
        //THIS IS THE VARIABLE THAT I'M HAVING TROUBLE WITH
        global.atclink = 'https://www.kith.com/cart/' + variant + amount

    })
    global.cookiejar = rp.jar()
    //THIS REQUEST GIVES ME THE ERROR
    rp.get({uri:atclink, headers:{'User-Agent':useragent}, followAllRedirects: true, json: true, jar: cookiejar}, function(err, resp, body){
        if (err != undefined){
            console.log(err)
        }
        else{
            console.log(resp.request.uri.href)
        }
    })
}

为什么会出现错误?即使变量是在函数中定义的,但我还是将其设置为全局变量,所以我仍然不能使用它吗?

0 个答案:

没有答案