我需要使用cordova插件在Angular JS中实现加密密码。由于cordova调用是异步的,调用插件的函数不会等到插件完成执行。
var getInputParams = function(){
for(var key in encryptedKeys){
paramValue = encryptedKeys[key];
encrypt(paramValue);
alert("cipher Text:"+$rootScope.cipherText);
cipherText = $rootScope.cipherText;
}
function encrypt(param) {
cordova.exec(function(success){
$rootScope.cipherText = success;
alert("Encryption done");
},function(err){
alert(err);
},"ParamEncryptor","encrypt",[param]);
};
在上面的代码中,getParameters()
中的提醒首先出现,然后是encrypt()
中的提醒。由于此cipherText
已分配null
值。我尝试使用延迟和承诺实施,但没有成功。可能是我的实施可能是错的。如果有人建议解决上述问题,那将会有很大的帮助。