0
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){
\t 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:私はすでにグローバル変数として試してみましたが、依然として直面する問題..事前に
おかげで...
async javascript関数から値を返すことはできません。タスクの完了後に情報を返す唯一の方法は、コールバックによるものです。私はあなたがそれらのうちのいくつかを使用しているのを見ますが、彼らがどのように、なぜ彼らが必要であるかを確かめることはできません。コールバックを調査してください。利用可能な情報がたくさんあります。この質問は何度も回答されています。 – magreenberg