对象 Promise 显示而不是从 API 调用中提取的数据
Posted
技术标签:
【中文标题】对象 Promise 显示而不是从 API 调用中提取的数据【英文标题】:object Promise showing instead of data pulled from API call 【发布时间】:2021-12-25 21:15:41 【问题描述】:我正在尝试从 opensea api 获取数据并在前端显示来自它的返回部件名称。
这是我获得 100% 正常工作的 api 调用的函数
async function getData(url)
var _data;
let response = await fetch(url);
let data = await response.json();
_data = [data.name, data.id];
console.log(_data);
return _data[0];
控制台的这个日志显示我想要它到
但是当我尝试让它显示在前端时
options = getData('https://api.opensea.io/api/v1/asset/0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb/1/');
使用 options 获取数据并暂时显示它直到它起作用
它显示了这个
[object Promise] 应该在哪里显示 [cryptopunk #1, 158831]
任何人都知道我做错了什么
options = getdata() 在类内部,@component 上方的 async 函数
【问题讨论】:
这能回答你的问题吗? Why is my asynchronous function returning Promise <pending> instead of a value? | async/await implicitly returns promise? | How to access the value of a promise? | How to return the response from an asynchronous call 不,遗憾的是我没有尝试过,但我无法等待班级的来电,因为您无法异步整个班级以使用等待 1.类可以有async
方法。所以,绝对可以在一个类中使用await
。 2. 您可以随时使用.then()
。无论您选择什么,您都有一段异步代码 - 您无法将其转换为同步代码。
export class SharestableComponent 在我的班级的这段代码中实现 OnInit 我如何将其变成异步的
你没有使 类 异步。 方法可以是异步的。
【参考方案1】:
你试过了吗
getData('https://api.opensea.io/api/v1/asset/0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb/1/').then(data=>
console.log(data);
)
这一切正常
async function getData(url)
var _data;
let response = await fetch(url);
console.log(response);
return response;
getData('https://jsonplaceholder.typicode.com/todos/1').then(option=>
console.log(option)
)
【讨论】:
但将 getData 保存到一个变量中,然后在角度 html 中将该变量用作 variable 仍将其显示为 [object Promise] 没关系,我以不同的方式做到了这一点,它奏效了,你的天才,谢谢 x以上是关于对象 Promise 显示而不是从 API 调用中提取的数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 React 中正确地进行 GET 调用,返回一个 observable(类似于 Angular 中的方法而不使用 Promise)?
Django - 部署时 Google Maps API Uncaught in promise 错误
如何从对象的`get()`获取异步数据而不返回Promise