我正在尝试使用phonegap sqlite访问数据库,并希望创建一个延迟队列。
我如何尝试访问数据库如下
for(i=0,max=elem.length;i<max;i++)
{
functiontoAccessDB(i);
}
我想确保每次只对数据库进行1次调用,并且所有其他调用都被推迟到第1次调用返回响应。任何见解?
答案 0 :(得分:0)
SQLitePlugin使用回调模式而不是Deferreds。您将需要将其包装以使用Deferreds。
这样的事情可能有所帮助:
var function functionToAccessDBForPromise = function(i){
var d = $.Deferred();
var successCallback = function(){
d.resolve(args);
};
var failCallback = function(){
d.reject(args);
};
functiontoAccessDBWithCallbacks(i,successCallback,failCallback)
return d.promise();
};
functionToAccessDBForPromise
将返回一个可用于排队的promise对象。