如何将javascript局部变量中的一个函数调用到另一个函数

k2fxgqgv  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(221)

我是javascript的初学者。局部变量 let searchquery = e.target.querySelector('input').value; 值未在fatch api中打印 q=${searchquery} 并打印全局变量值 let searchquery=''; 我的输出是
pizza {q: "", from: 0, to: 20, more: false, count: 0, …} ```
let searchquery='';
searchform.addEventListener('submit', (e) => {
e.preventDefault();
let searchquery = e.target.querySelector('input').value;
console.log(searchquery);
fetchAPI(); });

async function fetchAPI() {
const baseurl = https://api.edamam.com/search?q=${searchquery}&app_id=${app_id}&app_key=${app_key}&to=20;

nhjlsmyf

nhjlsmyf1#

您正在创建 searchquery 变量两次。一个在匿名函数外部,第二个在匿名函数内部 addEventListener . 由于这一点,变量范围正在缩小,并且在 fetchAPI 方法。
你应该这样使用它-

let searchquery = '';
searchform.addEventListener('submit', (e) => {
  e.preventDefault();
  searchquery = e.target.querySelector('input').value;
  console.log(searchquery);
  fetchAPI(searchquery);
});

async function fetchAPI(searchquery) {
  const baseurl = `https://api.edamam.com/search?q=${searchquery}&app_id=${app_id}&app_key=${app_key}&to=20`;
}


如果需要在提交处理程序中创建另一个变量,请将此变量传递给 fetchAPI 在调用此方法时将其作为param。

let searchquery = '';
searchform.addEventListener('submit', (e) => {
  e.preventDefault();
  let searchquery = e.target.querySelector('input').value;
  console.log(searchquery);
  fetchAPI(searchquery);
});

async function fetchAPI(searchquery) {
  const baseurl = `https://api.edamam.com/search?q=${searchquery}&app_id=${app_id}&app_key=${app_key}&to=20`;
}

相关问题