我知道以下代码将输出malloc();
。我的问题是,这有什么用?在React,Node等中构建现实应用程序时,什么时候异步/等待会有用?
{{ vars[item ~ '_port'] }}
答案 0 :(得分:2)
我相信您会遇到的最常见的问题将使您希望将当前功能切换到async
模式通常与以下目的有关:网络请求,文件,以及承诺的频繁使用和/或嵌套。
当我写网络请求时,我总是使用async/await
等待组合。对我来说,这使我的代码更具线性和可读性。完成后,我也不必担心会从fetch
(或axios
)返回承诺。
async function getPins(user, filterValue) {
const pins = await axios.get(...);
if (filterValue) {
return pins.filter(pin => pin.title.includes(filterValue));
}
return pins;
}
async function handleFile(data, isEncrypted, isGzipped) {
if (isEncrypted) {
data = await decrypt(data, secret);
}
if (isGzipped) {
data = await ungzip(data);
}
return data;
}
async function init() {
const activeBoard = await getActiveBoard();
const boardMembers = await getBoardMembersFrom(activeBoard);
const allTasks = [];
for await (const tasks of boardMembers.map(getTasks)) {
allTasks.push(task);
this.setState({ tasks: [...allTasks] });
}
}
注意:您可以将async/await
与Promises一起使用。无需将自己局限于一个或另一个。
const test = async props => {
const data = await fetch('...').then(res => res.json());
console.log(data) /* do what you want with the data now */
}