我正在创建fetchBill函数。 它将https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c分配给api变量。 它使用浏览器的访存功能向api发出HTTP请求。 它在.then调用fetch函数中使用箭头函数,并将其转换为JSON后返回响应。 使用另一个.then调用第一个,该函数将JSON数据传递给displayCartTotal函数。最后,它可以处理可能发生的错误,例如通过在控制台中显示警告消息。
我已经根据挑战定义了displayCartTotal函数。并且已被验证是正确的。 我还定义了fetchBill函数,它正在返回一个Promise。在promise中,promiseStatus是“ resolved”的,promiseValue是一个Array。我没有收到任何错误,但这似乎并不能解决挑战的问题。
const displayCartTotal = ({results}) => results;
const fetchBill = () => {
const api =
"https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c";
const results = fetch(api)
.then(res => res.json())
.then(data => displayCartTotal(data))
.catch(err => console.log(`Warning!!! Error fetching data!!!
Error ${err}`));
return results;
};
通过调用displayCartTotal函数,fetchBill函数应返回由fetch请求返回的json对象的results属性。我相信要返回的是promiseValue,而不是http请求中的全部诺言。
答案 0 :(得分:0)
该过程失败的可能原因是Java在tge promise之后继续运行,并在promise过程完成之前返回result
var
解决此问题的最简单方法是将return添加到then中:
const displayCartTotal = ({results}) => results;
const fetchBill = () => {
const api =
"https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c";
const results = fetch(api)
.then(res => res.json())
.then(data => displayCartTotal(data))
.then(return results;)
.catch(err => console.log(`Warning!!! Error fetching data!!!
Error ${err}`));
};
答案 1 :(得分:0)
在您的情况下,获取操作会返回未满的承诺。以这种类型实现提取。
await getIncome()
答案 2 :(得分:0)
const displayCartTotal = ({results}) => results;
const fetchBill = () => {
const api = "https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c";
fetch(api)
.then(response => response.json())
.then(data => displayCartTotal(data))
.catch(err => console.log(err));
};
答案 3 :(得分:0)
plyr