gpt4 book ai didi

javascript - 在变量上保存异步/等待响应

转载 作者:可可西里 更新时间:2023-11-01 02:38:16 26 4
gpt4 key购买 nike

我正在尝试使用 async/await 和 try/catch 来理解异步调用。

在下面的示例中,如何将我的成功响应保存到一个可以在其余代码中使用的变量?

const axios = require('axios');
const users = 'http://localhost:3000/users';

const asyncExample = async () =>{
try {
const data = await axios(users);
console.log(data); //200
}
catch (err) {
console.log(err);
}
};

//Save response on a variable
const globalData = asyncExample();
console.log(globalData) //Promise { <pending> }

最佳答案

1) 从您的asyncExample 函数返回一些内容

const asyncExample = async () => {
const result = await axios(users)

return result
}

2) 调用该函数并处理其返回的 Promise:

;(async () => {
const users = await asyncExample()
console.log(users)
})()

这就是为什么你应该这样处理它:

  • 你不能做顶级的await(尽管有a proposal);await 必须存在于 async 函数中。

但是我必须指出,您的原始示例不需要 async/await根本;因为 axios 已经返回一个 Promise,你可以简单地做:

const asyncExample = () => {
return axios(users)
}

const users = await asyncExample()

关于javascript - 在变量上保存异步/等待响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48327559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com