我有一个函数insde一个函数,我试图返回我在内部函数中返回的东西。
function calculatePoints(){
request({
success: onWiktionaryResponseAvailable,
error: null,
url: "https://en.wiktionary.org/w/api.php?action=query&origin=*&format=json&titles="+inputWord,
});
function onWiktionaryResponseAvailable(result){
let wiktionaryEntry = JSON.parse(result),
keys = Object.keys(wiktionaryEntry.query.pages);
if (keys[0] === "-1"){
return 0;
}return inputWord.length;
}
}
我试过写:return onWiktionaryResponsAvailable();但这在我的情况下不起作用。
答案 0 :(得分:0)
当你拨打request
时,你已经知道了“回调”功能。您只需要更进一步,并传入回调函数。 (你也可以用Promise完成同样的事情)
function calculatePoints(callback) {
request({
success: onWiktionaryResponseAvailable,
error: null,
url: "https://en.wiktionary.org/w/api.php?action=query&origin=*&format=json&titles=" + inputWord,
});
function onWiktionaryResponseAvailable(result) {
let wiktionaryEntry = JSON.parse(result),
keys = Object.keys(wiktionaryEntry.query.pages);
if (keys[0] === "-1") callback(0);
callback(inputWord.length);
}
}