我想从链接中打印出我的html数据,但它总是说“未定义”,我不知道,问题在哪里。有人能帮助吗?
let url = 'https://ac7minh6n7s3rw4qfchrofbwai0amiko.lambda-url.eu-north-1.on.aws/';
fetch(url)
.then(res => res.json())
.then(out => console.log('JSON: ', out))
.then(out => document.write('JSON string: ', JSON.stringify(out)))
.catch(err => { throw err })
2条答案
按热度按时间von4xj4u1#
传递给
then
回调函数的值是链中上一个链接的返回值。如果该值是一个承诺,则在调用then
之前将其解析。console.log
的返回值为undefined
,因此您将undefined
传递给试图对该值执行document.write
的函数。你需要返回你想要处理的值:
然而因为你没有创建新的承诺,所以没有必要使用额外的
then
。你可以合并这两个:yeotifhr2#
之所以是
undefined
,是因为console.log()
的返回值是undefined
,去掉它就可以引用out: