0
當我執行這種功能,它顯示我以下錯誤超時:JavaScript執行JavaScript的超過
「JavaScript執行超過超時」我怎樣才能使用的setTimeout()或什麼解決這個問題?
我從json文件中檢索3000行。
applyChanges_PhrasesTypes: function(employees, callback) {
//alert("fonction apply chamges est lancer PhrasesTypes");
this.db.transaction(
function(tx) {
var l = employees.length;
var sql =
"INSERT OR REPLACE INTO PhrasesTypes (IdPhrase, IdPhraseES, IdRubrique, IdTypeTravauxAffichage, Phrase, AidePhrase, AvertissementPhrase,OrdrePhrase,QuotationParDefaut,Published) " +
"VALUES (?,?,?,?,?,?,?,?,?,?)";
//alert('Inserting or Updating in local database: PhrasesTypes');
var e;
for (var i = 0; i < l; i++)
{
e = employees[i];
log(i);
//log("Ligne "+ i +" est inserer de id PhrasesTypes = "+e.IdPhrase);
var params = [e.IdPhrase, e.IdPhraseES, e.IdRubrique, e.IdTypeTravauxAffichage, e.Phrase, e.AidePhrase, e.AvertissementPhrase,e.OrdrePhrase,e.QuotationParDefaut,e.Published];
tx.executeSql(sql, params);
}
log('sync_PhrasesType shronization terminée avec (' + l + ' items sync_PhrasesTypeshronié)');
},
this.txErrorHandler_PhrasesTypes,
function(tx)
{
callback();
}
);
}
@lgor:這裏是我的代碼,但只有2000插入線,並以一個錯誤終止,
JavaScript執行超過超時的JavaScript
InsertPortion: function(tx)
{
var l = Math.min(gEmployees.length, gIter + 300);
log('aaaaaaaaaaaaaaaaaaaaaaaa---'+l)
for (; gIter<l ; gIter++)
{
log('do insert here');
var sql =
"INSERT OR REPLACE INTO PhrasesTypes (IdPhrase, IdPhraseES, IdRubrique, IdTypeTravauxAffichage, Phrase, AidePhrase, AvertissementPhrase,OrdrePhrase,QuotationParDefaut,Published) " +
"VALUES (?,?,?,?,?,?,?,?,?,?)";
//alert('Inserting or Updating in local database: PhrasesTypes');
var e;
e = gEmployees[gIter];
log(gIter);
//log("Ligne "+ i +" est inserer de id PhrasesTypes = "+e.IdPhrase);
var params = [e.IdPhrase, e.IdPhraseES, e.IdRubrique, e.IdTypeTravauxAffichage, e.Phrase, e.AidePhrase, e.AvertissementPhrase,e.OrdrePhrase,e.QuotationParDefaut,e.Published];
tx.executeSql(sql, params);
}
if (gIter < gEmployees.length)
{
log('sync_PhrasesType shronization terminée avec (' + gIter+ ' items sync_PhrasesTypeshronié)');
setTimeout(dao3.InsertPortion(tx), 100);
}
else
{
gEmployees = null;
gIter = 0;
}
},
applyChanges_PhrasesTypes: function(employees, callback) {
//alert("fonction apply chamges est lancer PhrasesTypes");
this.db.transaction(
function(tx)
{
gIter = 0;
gEmployees = employees;
dao3.InsertPortion(tx);
},
this.txErrorHandler_PhrasesTypes,
function(tx)
{
callback();
}
);
},
我只希望你不要將存儲在JavaScript中的SQL運行到數據庫中。主要的安全問題。 – jfrej
@jfrej這可能是在本地存儲SQLlite數據庫的HTML5上使用的SQL。 –
對不起,但我不能讓你明白 –