Javascript 如何从嵌套API函数返回值

Javascript 如何从嵌套API函数返回值,javascript,function,api,nested,Javascript,Function,Api,Nested,我有一个名为wikiCount的函数,用于包装API中的另一个函数,如下所示: var wikiCount = function(wikiPage, word){ wtf_wikipedia.from_api("Toronto", "en", function(markup){ var obj = wtf_wikipedia.plaintext(markup) var a = obj.toLowerCase().split(" ").count(

我有一个名为wikiCount的函数,用于包装API中的另一个函数,如下所示:

 var wikiCount = function(wikiPage, word){

      wtf_wikipedia.from_api("Toronto", "en", function(markup){

        var obj = wtf_wikipedia.plaintext(markup)
        var a = obj.toLowerCase().split(" ").count(word)
        return a

    })
}

如何从嵌套API函数返回值,以便在包装器函数中使用它。这样做的全部目的是因为我试图访问函数外部的变量“a”。

一个很酷的方法是承诺:

var Promise = require('bluebird');

function wikiCount(wikiPage, word){

     return new Promise(function(resolve, reject) {

        wtf_wikipedia.from_api("Toronto", "en", function(markup){

            var obj = wtf_wikipedia.plaintext(markup)
            var a = obj.toLowerCase().split(" ").count(word)

            resolve(a);

        });
    });
}

wikiCount('somePage', 'someWord')
.then(function(result) {
  // do something with the result
  // this is 'a' that you resolved in the function above
});
上面的示例使用。如果您所在的浏览器或Node.js运行时支持ES6,则可以使用

上述内容被称为“”:

承诺化意味着将现有的承诺不知道API转换为承诺返回API


一个很酷的方法就是承诺:

var Promise = require('bluebird');

function wikiCount(wikiPage, word){

     return new Promise(function(resolve, reject) {

        wtf_wikipedia.from_api("Toronto", "en", function(markup){

            var obj = wtf_wikipedia.plaintext(markup)
            var a = obj.toLowerCase().split(" ").count(word)

            resolve(a);

        });
    });
}

wikiCount('somePage', 'someWord')
.then(function(result) {
  // do something with the result
  // this is 'a' that you resolved in the function above
});
上面的示例使用。如果您所在的浏览器或Node.js运行时支持ES6,则可以使用

上述内容被称为“”:

承诺化意味着将现有的承诺不知道API转换为承诺返回API


API是什么?他们可能有文档或示例代码来帮助解决这个问题?他们可能有文档或示例代码来帮助解决这个问题。这里有这个问题的答案: