如何获得异步方法的Promise值?

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

pking11 回答:如何获得异步方法的Promise值?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2954571.html

大家都在问