Javascript 在ES6 React.JS中使用Async/Await

Javascript 在ES6 React.JS中使用Async/Await,javascript,reactjs,asynchronous,async-await,Javascript,Reactjs,Asynchronous,Async Await,我有一个安装了ReactJS的NetCore2应用程序 我的React应用程序执行以下操作-> 用户输入到字段中 axios调用api以获取用户和/或用户列表 输入字段根据PeopleList状态中保存的内容显示建议 我正在使用Office Fabric UI React-People Picker(以防万一) 我的问题是,我不知道如何在代码中使用async/await 如果我放这样的东西 async asynconFilterChanged=(filterText、currentPerso

我有一个安装了ReactJS的NetCore2应用程序

我的React应用程序执行以下操作->

  • 用户输入到字段中
  • axios调用api以获取用户和/或用户列表
  • 输入字段根据PeopleList状态中保存的内容显示建议
我正在使用Office Fabric UI React-People Picker(以防万一)

我的问题是,我不知道如何在代码中使用async/await

如果我放这样的东西

async asynconFilterChanged=(filterText、currentPersonas、limitResults)=>{

VS Code抛出一个错误,告诉我async仅用于.ts文件。此外,如果我在任何其他函数中使用wait,我将得到一个错误,例如wait是一个保留字

据我所知,async/await不仅仅是TS…(还是我错了?)

我正在使用旧的巴别塔和环境预设

如果我需要提供更多的代码,请告诉我,但是TLDR我想要的是,只有在我的axios将项目推送到PeopleList状态(对象数组)后,才启动filter函数


谢谢!

当使用箭头函数时,您应该这样编写async/await:

const asynconFilteredChanged = async () => {
 // code here 
}

按照语法检查尝试遵循上述代码库

asynconFilterChanged = async (filterText, currentPersonas, limitResults) => {
            try {
                await yourFucntion = (limitResults) => {
                ....Your logic...
                }
            } catch(error) {
                console.error(error);
            }

是的,尝试使用和触摸

似乎部分有效,但是巴贝尔仍然抛出“等待是一个保留字”错误,即使“等待”函数已转换为异步。关于这方面的任何提示?还有任何关于放置const函数的最佳位置的想法?将
render(){}
可以吗?谢谢!编辑:似乎将其移出setTimeout停止了“等待”错误。我假设您不能同时使用等待和超时。