在做其他事情之前,WinJS SQLite runAsync

时间:2013-12-27 16:00:37

标签: sqlite winjs promise

我有一组INSERT语句可以在SQLite异步方法中运行:

SQLite3JS.openAsync(path).then(function (db) {
    $.each(sql, function (idx, item) {
        return db.runAsync(item).done(function complete(xhr) {
            var i = 0;
        });
    });
});

我希望插入集合,然后在成功完成后执行某些操作。我试图遵循then()承诺,但在db.runAsync()被解雇之前都会被调用。

有干净的方法吗?基本上,我有一个进度环,应该在完成所有这一切后删除,但我无法正常启动。

1 个答案:

答案 0 :(得分:1)

我想你一定要WinJS同时使用SQLite3JS.openAsync(path).then(function (db) { var promises = []; $.each(sql, function (idx, item) { promises.push( db.runAsync(item) ); }); return WinJS.Promis.join( promises ).then( function success() { // all done! }, function error() { // something didn't work }, ); }); 的能力......

{{1}}