我定义了一个看起来像这样的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
异步吗?