团队成员,我正在构建一个worklight应用程序,并使用corodova全球化API。现在发生的情况是,我无法将成功回调函数中的值返回给一个函数,我从该函数调用此警报时,使用function.But ()返回该值时也是如此。你能帮我。如果我在下面的实现中错了,请纠正我?
Hybrid.formatCurrencyVal = function(sVal){
var sOut;
//alert(sVal);
navigator.globalization.numberToString(
Number(sVal),
// function (sVal) {sOut=sVal.value; sVal= sOut;},
function (sVal) {sOut=sVal.value; sVal=sOut;},
function () {alert('Error getting number\n');},
{type:'decimal'}
);
alert(sOut);
return sOut;
};发布于 2013-10-17 20:31:56
尝尝这个
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
Hybrid.formatCurrencyVal();
}发布于 2013-10-18 09:16:59
onSuccess回调将被异步触发。这意味着在调用"numberToString“之后,代码的其余部分将继续执行。所以你不能确定,当返回sOut时,onSuccess函数已经被触发了。
相反,您应该这样做:
var onSuccess = function(callbackNumber) {
// do something with callbackNumber
}
navigator.globalization.numberToString(
number,
onSuccess,
function () {alert('Error getting number\n');},
{type:'decimal'}
); https://stackoverflow.com/questions/19426102
复制相似问题