Javascript 在单击按钮时运行嵌套函数

Javascript 在单击按钮时运行嵌套函数,javascript,Javascript,我有一个从后端获取响应的fetchapi,在fetch中有一个提醒响应的函数。我试图做的是在单击按钮时运行函数,但测试函数不在全局范围内,因此我的按钮无法访问它来运行它。在得到响应后,是否有任何方法可以运行该函数在单击按钮时提醒响应?感谢您的帮助。提前谢谢 fetch(`http://localhost:PORT/api/ROUTE`) .then(res=>res.json()) 。然后((响应)=>{ 功能测试(){ 警报(响应) } }) 单击我注意,在当前代码中,测试甚至没有被然后的回

我有一个从后端获取响应的fetchapi,在fetch中有一个提醒响应的函数。我试图做的是在单击按钮时运行函数,但测试函数不在全局范围内,因此我的按钮无法访问它来运行它。在得到响应后,是否有任何方法可以运行该函数在单击按钮时提醒响应?感谢您的帮助。提前谢谢

fetch(`http://localhost:PORT/api/ROUTE`)
.then(res=>res.json())
。然后((响应)=>{
功能测试(){
警报(响应)
}
})

单击我
注意,在当前代码中,
测试
甚至没有被
然后的
回调调用。将该函数移到全局范围中,但请注意,如果您过早单击,响应可能还不可用。因此,请遵守承诺:

let promise = fetch(`http://localhost:PORT/api/ROUTE`)
              .then(res => res.json());
test(); // Optional -- if you want to have the alert even when button is not clicked.

function test() {
   promise.then(response => alert(response));
}
如果您的目的是在每次单击按钮时重新获取,则将所有逻辑移到
test

test(); // Optional -- when you want to initiate the fetch on page load

function test() {
   fetch(`http://localhost:PORT/api/ROUTE`)
       .then(res => res.json());
       .then(response => alert(response));
}

如果要在提取完成后显示警报:

function getdata() {
    fetch(`http://localhost:PORT/api/ROUTE`)
      .then(res => res.json())
      .then((response) => {

        function test() {
          alert(response)
        }
      })
}

<button onclick="getdata()">CLICK ME</button>
函数getdata(){ 取回(`http://localhost:PORT/api/ROUTE`) .then(res=>res.json()) 。然后((响应)=>{ 功能测试(){ 警报(响应) } }) } 点击我
调用getdata并启动获取。获取完成后,调用test。请注意,您可以进行多次单击,并使回迁并行运行。

您需要在全局范围内声明一个变量,并在回迁数据时为其分配一个函数

var检验;
取回(`https://api.github.com/users/techysharnav/repos`)//用于测试目的
.then(res=>res.json())
。然后((响应)=>{
测试=(响应)=>警报(响应)
})

单击我
尝试使用javascript