【问题标题】:Youtube search API results not displaying in the EJS fileYoutube 搜索 API 结果未显示在 EJS 文件中
【发布时间】:2018-05-15 11:21:52
【问题描述】:

我在我的网站中实现 YouTube 搜索 API,当我从我的路由调用 api 时会返回结果,但在计算结果时会呈现页面,我猜是因为异步行为。

我调用 API 的路径:

router.get('/video/results/:search_query', middleware.ensureAuthenticated, function (req, res) {
    query = req.params.search_query;
    console.log(query);
    var dataFinal;
    var resp = youtube.search.list({
        part: 'snippet',
        q: query,
        type: 'video'
    },function (err, data, response) {
        if (err) {
            console.error('Error: ' + err);
            res.json({
                status: "error"
            });
        }
        if (data) {
           // console.log(typeof data);
            dataFinal = data;
           //  return res.json({
           //      status: "ok",
           //      data: data
           //  });

            console.log(data);
            //res.render('resultsVideo',{results:data})
        }
    });
    res.render('resultsVideo',{data:dataFinal})

});

请告诉我如何调用 API 并使用我的 EJS 文件中的结果来显示。

【问题讨论】:

    标签: javascript node.js express youtube-data-api


    【解决方案1】:

    您可以使用函数回调来获得所需的结果。

    router.get('/video/results/:search_query', middleware.ensureAuthenticated, function (req, res) {
        query = req.params.search_query;
        console.log(query);
        var dataFinal;
        function resp() = youtube.search.list({
            part: 'snippet',
            q: query,
            type: 'video'
        },function (err, data, response) {
            if (err) {
                console.error('Error: ' + err);
                res.json({
                    status: "error"
                });
            }
            if (data) {
               // console.log(typeof data);
                return data;
               //  return res.json({
               //      status: "ok",
               //      data: data
               //  });
    
                console.log(data);
                //res.render('resultsVideo',{results:data})
            }
        });
        res.render('resultsVideo',{data:resp()})
    
    });
    

    【讨论】:

      猜你喜欢
      • 2017-05-28
      • 1970-01-01
      • 2023-04-07
      • 2020-01-21
      • 2021-02-23
      • 1970-01-01
      • 1970-01-01
      • 2017-08-27
      相关资源
      最近更新 更多