我正在尝试从此函数返回结果:
var YouTube = require('youtube-node');
var youTube = new YouTube();
youTube.setKey('XXXXXXXXXXXX');
var result = youTube.search('World War z Trailer', 2,
function(error, result) {
if (error) {
console.log(error);
} else {
return result
}})
console.log(result)
但是后来我在控制台中只得到未定义的结果。
最佳答案
这里的最后一个函数是一个回调函数,它不会以您想要的方式返回值。阅读它在某处的工作方式,例如here。
您的问题可以通过Promise以这种方式解决
var search = new Promise(
(resolve, reject) => {
youTube.search('World War z Trailer', 2, function(error, result) {
if (error) { reject(error); }
resolve(result);
})
}
);
(async () => {
var result = await search;
console.log(result);
})()
关于javascript - NodeJS:无法从函数返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62153639/