Javascript 如何从嵌套API函数返回值
我有一个名为wikiCount的函数,用于包装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(
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是什么?他们可能有文档或示例代码来帮助解决这个问题?他们可能有文档或示例代码来帮助解决这个问题。这里有这个问题的答案: