gpt4 book ai didi

javascript - 如何在记录之前等待 json 返回值(返回至少需要 30 秒)? JavaScript/ react /表达

转载 作者:行者123 更新时间:2023-12-03 00:33:39 24 4
gpt4 key购买 nike

这是这些主题的后续内容:

How to set state of a react component with a specific item from a returned json object?

How to return json data to a react state?

我正在使用 web3js 在以太坊上签署交易,然后发送带有交易数据的 JSON 对象。 JSON 至少需要 30 秒才能返回。

我尝试使用以下代码记录数据:

axios.post(
"http://compute.amazonaws.com:3000/users",
{
value: "value",
fileName: "fileName",
hash: "hash"
}
)
.then(res => { console.log(res.data);});

控制台中没有出现任何日志。

上面实际上是一个更大函数的一部分,我已将其设为async并添加了await。这没有产生任何结果或错误:

const onSuccess = async payment => {
axios.post(
"http://ec2-54-67-28-69.us-west-1.compute.amazonaws.com:3000/users",
{
value: "value",
fileName: "fileName",
hash: "hash"
}
);
await (res => {
console.log(res.data);
});

我认为问题在于以太坊需要一些时间来挖掘交易。我需要等待 JSON 响应才能记录它。

我的 Express 服务器没有问题,JSON 已成功登录到服务器。

有什么想法吗?

最佳答案

第一 block 代码似乎可以工作,您可能想将 .catch 附加到它作为错误处理程序。

axios.get('https://jsonplaceholder.typicode.com/todos/1')
.then(response => console.log(response.data))
.catch(function(error) {
console.log(error);
});
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

在第二部分中,我认为您做错了await。您正在等待一个永远不会被调用的函数。 Await 应该监听在下面的实例中调用的东西,由 axios

返回的 promise

const samplePayload = {
"userId": 100,
"id": 100,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
};


// Using GET here for demo but you can swap it with POST
const onSuccess = async payment => {
return await axios.get(
"https://jsonplaceholder.typicode.com/posts", samplePayload
).then(res => {
console.log(res.data);
});
}

console.log(onSuccess());
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

关于javascript - 如何在记录之前等待 json 返回值(返回至少需要 30 秒)? JavaScript/ react /表达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53750439/

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