文字列とフレーズを他の関数に変換し、変換された部分を含む配列を返さなければなりません。 別の関数で関数を呼び出して、返された値をキャプチャしようとすると、返された値が定義されていないというメッセージが返され続けます。私が翻訳関数に値を返させないで、彼女が返すべき値を警告するようにしたら、すべてうまくいく。my関数の値は定義されていません
これは、関数translate()が値を適切に返すのを妨げるもの、または関数picklanguage()が返された値を受け取らないものです。
function translate(translateObject)
{
var translations = new Array();
dojo.xhrPost({
url: 'http://'+window.location.hostname+'/translate/translate',
content: { str: dojo.toJson(translateObject) },
handleAs: "json",
timeout: 2000,
load: function(response){
dojo.forEach(response.items, function(strg){
var key = strg.string;
translations[strg.string] = strg.translation;
});
return translations;
},
error: function(response){
return 'Ben';
}
});
}
function pickLanguage()
{
var language = translate({title: 'Kies hier je gewenste taal', dutch: 'Nederlands', french: 'French', german: 'Deutch', english: 'English'});
errorDialog = new dijit.Dialog({
content: dump(language),
style: "width: 450px"
});
errorDialog.show();
}
非同期操作から値を返すことはできません。 – Pointy
このタイプの問題についてはFAQが必要です。 1つはありますか? –