-1

このプロジェクトにはwikipedia-jsを使用しました。summary.jsこれはファイルの私のコードです。

var wikipedia = require("wikipedia-js");
var something = "initial";
module.exports = {
    wikitext: function(topicname) {
        console.log("Inside wikitex funciton :" + topicname);
        var options = {
            query: topicname,
            format: "html",
            summaryOnly: false,
            lang: "en"
        };

        wikipedia.searchArticle(options, function(err, htmlWikiText) {
            console.log("Inside seararticlefunciton :");

            if (err) {
                console.log("An error occurred[query=%s, error=%s]", topicname, err);
                return;
            }
            console.log("Query successful[query=%s, html-formatted-wiki-text=%s]", topicname, htmlWikiText);
            something = htmlWikiText;
        });
        return something;
    },
};

このモジュールは/wiki/:topicnameルートで使用しています。での対応コードindex.jsはこんな感じ。

router.get('/wiki/:topicname', function(req, res, next) {
    var topicname = req.params.topicname;
    console.log(topicname);
    var first = summary.wikitext(topicname);
    res.send("Hello "+first);
});

問題は、wiki/ some-topicsummary.jsにアクセスするたびに、 executesの最後の return ステートメントにhtmlWikiTextコンテンツが入力されることです。だから私はいつもhello initialブラウザのページに表示されます。console.logしばらくすると、ステートメントのために端末に出力されますが。

では、この問題をどのように解決すればよいでしょうか。

4

1 に答える 1