18910140161

JavaScript-将变量移交给函数-堆栈溢出

顺晟科技

2022-10-19 14:41:15

136

我想把变量eventurl交给函数fetchData,但是这似乎不起作用,我不知道问题出在哪里。如果有人能帮助我,我将不胜感激。

async function fetchData(eventurl) {
    const res=await fetch (eventurl);
    const record=await res.json();
    stock = record.groups[0].sections
    document.getElementById("stock").innerHTML = JSON.stringify(stock);

}

chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function
(tabs) {
    var url = tabs[0].url;
    const pid = url.split("/");
    const eventpid = pid[5];
    const eventurl = "https://availability.ticketmaster.eu/api/v2/TM_CH/availability/"+eventpid+"?subChannelId=1";
    document.getElementById("link").innerHTML = eventurl;
    document.getElementById("event").innerHTML = eventpid;

})

fetchData();

顺晟科技:

变量只存在于anynomous函数块中。因此,当您调用您的函数时,它不知道来自另一个块的变量。

在您的例子中,定义函数外部的变量以便使用它

async function fetchData(eventurl) {
    const res=await fetch (eventurl);
    const record=await res.json();
    stock = record.groups[0].sections
    document.getElementById("stock").innerHTML = JSON.stringify(stock);

}

chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function
(tabs) {
    var url = tabs[0].url;
    const pid = url.split("/");
    const eventpid = pid[5];
    const eventurl = "https://availability.ticketmaster.eu/api/v2/TM_CH/availability/"+eventpid+"?subChannelId=1";
    document.getElementById("link").innerHTML = eventurl;
    document.getElementById("event").innerHTML = eventpid;

})

fetchData();

对函数的调用为空。在调用to的函数中获得一个值for,但是fetchData在外部,所以不能给它EventURL。If的函数是同步的,您可以在上面定义它,按照您正在做的那样设置,然后在之后调用。

但是由于它看起来像一个可能异步运行的回调函数,所以可以在函数内部移动。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航