[英]Why async/await variable return undefined?
下面是我的代码...
async function getItemDetalil(url) {
const $ = await request(url, (err, res, body) => {
return cheerio.load(body);
});
console.log($);
}
为什么我的“ $”未定义? 我认为这将是一个欢乐的对象?
为什么异步/等待变量返回未定义?
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
的promise(不太可能)。 查看其文档或源代码,以了解到底发生了什么。
我认为这将是一个欢乐的对象?
仅当cherrio对象iff request
实际上返回cherrio对象或解析为cherrio对象的Promise时才是。
如何将现有的回调API转换为Promise? 可能会帮助您解决实际的编码问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.