resultaat van een functie omzetten naar een variable

Status
Niet open voor verdere reacties.

leuthrick

Gebruiker
Lid geworden
17 sep 2008
Berichten
454
Hallo,

Graag zou ik de output van de volgende code willen plaatsen in een variabel.

[JS]window.plugins.text.translate("word", function(result) { return result; }[/JS]

[JS](function(cordova) {

function Device() {}

Device.prototype.translate = function(key, callback) {
Cordova.exec( callback, callback,
"localizable",
"get",
[key]);
}

if (!window.plugins) window.plugins = {}
window.plugins.text = new Device()

})(window.cordova || window.Cordova || window.PhoneGap);[/JS]

Ik heb al verschillende dingen geprobeerd maar niks lijkt goed te werken, zoals bijvoorbeeld:
[JS]
var test = "";
window.plugins.text.translate("word", function(result) { test = result; }
alert(test);[/JS]
Maar met de bovenstaande code werkt alert niet. (Ik dacht zelf dat dat kwam omdat de alert eerder word uitgevoerd dan dat het result in de variabel is gestopt?)

Alvast bedankt

Met vriendelijke groet,
leuthrick
 
var R = window.plugins.text.translate("word", function(result) { test = result; };
of
var test = "window.plugins.text.translate("word", function(result) { test = result; }";
 
Hallo,

De onderstaande code geeft undefined terug.

[JS]
(function(cordova) {

function Device() {}

Device.prototype.translate = function(key, callback) {
Cordova.exec( callback, callback,
"localizable",
"get",
[key]);
}

if (!window.plugins) window.plugins = {}
window.plugins.text = new Device()

})(window.cordova || window.Cordova || window.PhoneGap);

function translate(){
var R = window.plugins.text.translate("paid", function(result) { test = result; });
return R;
}
[/JS]

[JS]
document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
alert(translate());
}
[/JS]

Maar stel dat ik dit doe:

[JS]
function translate(){
var test = "";
var R = window.plugins.text.translate("paid", function(result) { test = result; });
return test;
}
[/JS]

Dan krijg ik een lege alert, wat er volgens mij op wijst dat de return eerder word terug gegeven dan dat de functie window.plugins.text.translate is uitgevoerd.

Met vriendelijke groet,
Rick van Gemert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan