以下是我的代码......
async function getItemDetalil(url) {
const $ = await request(url, (err, res, body) => {
return cheerio.load(body);
});
console.log($);
}
为什么我的' $'未定义? 我认为这将是一个cheerio对象?
答案 0 :(得分:1)
为什么async / await变量返回undefined?
await x
计算x
的值,或者,如果该值是承诺,则计算承诺解析为的值。
示例:
// Value
(async function() {
console.log('Normal value', await 42);
}());
// Promise resolution
(async function() {
console.log('From promise:', await Promise.resolve(42));
}());
如果$
为undefined
,则request()
会返回undefined
或解析为undefined
的承诺(不太可能)。查看其文档或源代码,了解究竟发生了什么。
我认为这将是一个cheerio对象?
只有cherrio对象 iff request
实际返回一个cherrio对象或一个解析为cherrio对象的承诺。
How do I convert an existing callback API to promises?可能会帮助您解决实际的编码问题。