function art(dataToArt){
var figlet = require('figlet');
var result;
figlet(dataToArt, function(err, data) {
if (err) {
console.log('Something went wrong...');
console.dir(err);
return;
}
var result = data;
});
return result;
}
test = art('Hello World');
console.log(test);
運行這會產生「未定義」。如何訪問函數figlet對函數figlet外部定義的變量結果所做的更改。訪問變量超出範圍? nodejs
好像'figlet'是一個異步函數。你不能。您需要在回調中完成所有工作。 –
我使用的是https://www.npmjs.com/package/figlet,我從來沒有使用nodejs –
「[爲什麼我的變量在函數內部修改後沒有改變?](http:// stackoverflow .com/questions/23667086/why-is-my-variable-un -tered-after-i-modify-it-inside-of-a-function-asynchron)「雖然,你在多個作用域中聲明瞭'result',所以你'返回一個不同的'結果',而不是你分配'數據'。但是,改變('result = data;'不帶'var')不會解決執行時間問題。 –