gpt4 book ai didi

javascript - 如何从nodejs中的异步函数获取返回值?

转载 作者:行者123 更新时间:2023-12-03 04:46:44 25 4
gpt4 key购买 nike

var fs = require('fs');
var ytdl = require('ytdl-core');

var favicon = require('serve-favicon');
var express = require('express');
var app = express();

app.use(favicon(__dirname + '/public/favicon.png'));
app.get('/:id',function (req,res){
ID = req.params.id;

var url = 'http://www.youtube.com/watch?v='+ID;

//function
ytdl(url,
function(err, format) {

if (err) throw err;

value = format.formats;//this is the json objact from ytdl module
return value;// i want return this value to user
console.log(format.formats);//i am getting value... in console but not outside of the function..
});

res.send(ytdl);//i want to send that async objact to this page....

});
app.listen(80);

所以我想要“异步函数”之外的“值变量”,如果不可能,那么我想将该 json 对象发送到浏览器,但我不知道如何发送它,所以我被困在这里,所以请建议我下一步应该做什么?

ps:我已经尝试过作为全局变量,但仍然面临问题..

提前致谢...

最佳答案

您只需直接从回调中使用 res.send 发送 value 变量即可:

ytdl(url, function(err, format) {
if (err) throw err;
var value = format.formats;
res.send(value);
});

关于javascript - 如何从nodejs中的异步函数获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42842828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com