我正在抓住一小段代码,从未解决promise
。它甚至没有告诉我promise
可能被拒绝了。
const https = require('https'),
{
json
} = require('micro')
module.exports = async () => {
let response = https.get('https://jsonplaceholder.typicode.com/posts/1')
const jsonData = await json(response, {
encoding: 'utf8'
})
console.log(jsonData)
}
阅读documentation,代码是正确的,只是我不明白为什么诺言没有记录响应,而终端只是闪烁光标。
感谢任何形式的帮助。
答案 0 :(得分:1)
json
用于处理来自您的服务器的传入请求(http.IncomingMessage
)的请求正文。 https.get
会返回ClientRequest
。您需要使用https
的回调来获取响应:
https.get('https://jsonplaceholder.typicode.com/posts/1', async res => {
const jsonData = await json(res, {
encoding: 'utf8'
});
console.log(jsonData)
});
您可能希望使用axios
等库来将承诺与IncomingMessage
const { data } = await axios({ url, responseType: 'stream' });
const jsonData = await json(data, { encoding: 'utf8' });
但是请注意,axios和其他类似的库也内置了JSON解析响应。