[英]Can't return JSON field from Fetch response.json() (but can see it from console.log)
I'm developing a Chrome extension and in my background.js i have a function 我正在开发Chrome扩展程序,并且在我的background.js中,我有一个功能
async function getData() {
var resp = await (await fetch("https://www.example.com/json")).json();
console.log(resp.field);
alert(resp.field);
return resp.field;
}
When i call the function ( var x = getData()
) alert and console.log show the content of the field (expected behavior), but then it returns a resolved Promise object. 当我调用函数( var x = getData()
)时,alert和console.log显示字段的内容(预期行为),但随后返回已解决的Promise对象。 What am i missing? 我想念什么?
Async functions always return promises . 异步函数总是返回promise 。 Your getData
function simply wraps resp.field
into a resolved promise. 您的getData
函数只是将resp.field
包装到一个已解决的promise中。
getData().then(field => console.log(field))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.