我定义了一个看起来像thise的javascript:
async function searchPerson(item){
const url = window.location;
const response = await fetch(url.origin+"/api/persons/search/1/"+item);
const person = await response.json();
//console.log(person);
return person;
}
所以在我的 中eventListener
,我像这样调用该方法:
if(document.getElementById('search-person')){
document.getElementById('search-person').addEventListener('click', (e)=>{
item = document.getElementById('input_search_person_ref_number').value;
if(item){
const person= async ()=>{
searchPerson(item);
}
//const person = await searchPerson(item);
console.log(person);
}
}
}
运行后,我得到这样的输出:
async ()=>{
searchPerson(item);
}
如果我使用const person = await searchPerson(item);
我也必须进行addEventListener
异步。addEventListener
有没有其他方法可以在不进行异步的情况下获得它(返回值承诺) ?