繁体   English   中英

javascript:异步 function 不返回从 ZDB974238714CA8DE634A7CE1D083A4 获取的 object 而是返回 [Fobject promise]

[英]javascript: async function not returning fetched object from API but instead returns [object promise]

我正在尝试从 API 获取数据,我尝试按照教程进行操作,但它一直返回[Object Promise]而不是带有课程 ID 的 object。 当我在控制台中测试它时,fetch function 工作正常,但它没有将变量“subject”设置为返回的数据。 有没有需要修改的部分? 谢谢

本地主机:1337/主题/

[{
"id": 1,
"name": algebra",
"time": "TUES|2PM",
"instructor": "Alex Smith"
},
{
"id": 2,
"name": "biology",
"time": "WED|2PM",
"instructor": "Carl James"
}]

脚本.js

async function getSub(courseid)    {    
    async function getSubject(courseid) {
     var url = 'http://localhost:1337/subjects/'+courseid;
     let response = await fetch(url, {method: 'GET'});
     let data = await response.json();
     return data; 
 }

const subject = await getSubject(1); //returns [object Promise] not object with id=1 
}

从另一个 js 文件调用这个 function

const info = await script.getSub(1);

调用async function 时应该使用await

function getSubject(courseid) {
    var url = 'http://localhost:1337/subjects/'+courseid;
    return fetch(url, {method: 'GET'});
}

var subject = await getSubject(1);
console.log(subject)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM