javascript - 如何在记录之前等待 json 返回值(返回至少需要 30 秒)?javascript/反应/快递
问题描述
这是对这些线程的跟进:
如何使用返回的 json 对象中的特定项目设置反应组件的状态?
我web3
用来在 上签署交易Ethereum
,然后发送json
带有交易数据的对象。json
至少需要 30 秒才能返回。
我正在尝试console.log()
使用以下代码处理数据:
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);
});
我认为问题是Ethereum
需要一些时间来挖掘交易。json
在记录之前我需要等待响应。
我的express
服务器没有问题,json
已成功登录服务器。
有任何想法吗?谢谢!
解决方案
第一个代码块似乎工作,可能是你想附加.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
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>
我希望澄清。
推荐阅读
- python - 我如何检查 Python 是不是我的 Flask 应用程序已经在后台运行
- sockets - 在 Django 频道中使用 RedisChannelLayer 时,长 URL(包括密钥)会导致 unicode idna 编解码器解码错误
- java - Spring Config Server - 属性覆盖
- azure - 在 Azure 持久函数中设置 MaxOrchestrationActions
- python - 为什么在 Python3 中发生列表索引超出范围
- excel - VBA Excel - 取几列的范围
- php - Laravel 6.x PostgreSQL 插入问题?SQLSTATE[22P02]:无效的文本表示:7 错误
- mysql - 需要从两个 MySQL 表创建一个动态矩阵
- python - 如何在两列之间创建转换矩阵?
- python - 我正在尝试使用 if 语句基于不同的数据框创建一个新的数据框