我吓坏了...我想不通,为什么这不起作用:
function errorHandler(transaction, error){
alert('Error: ' + error.message);
}
function openDb7(){
var db = window.openDatabase("Database", "1.0", "Cordova login", 300000);
db.transaction(insert7, errorHandler);
因此从未调用过 errorHandler
函数。但是,如果我在其中放置一个警报而不是函数调用,它就会工作 - 它看起来像这样:
function errorHandler(transaction, error){
alert('Error: ' + error.message);
}
function openDb7(){
var db = window.openDatabase("Database", "1.0", "Cordova login", 300000);
db.transaction(insert7, alert('error inside it'));
也许有人知道,我的错误在哪里。
最佳答案
这段代码
db.transaction(insert7, alert('error inside it'));
并不意味着错误发生了......它实际上正在执行警报,以便返回的值应该传递给 transaction
函数,试试这个
db.transaction(insert7, function () {
alert('error inside it')
});
如果警报没有弹出,则意味着您的回调从未被调用
关于JavaScript - 当错误调用另一个函数时函数不会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30347792/