0
Мне нужно вставить x строк в БД. Вот мой код:Угловое ожидание обещания в sqlite insert
dataFactory.insertData = function (responseData)
{
var q = $q.defer();
var rows = 0;
$.each(responseData, function (index, value)
{
var query = "insert or ignore into ...";
$cordovaSQLite.execute(db, query).then(function (res)
{
rows += 1;
}, function (err)
{
console.error(err);
});
});
q.resolve(rows);
return q.promise;
};
Как можно дождаться завершения всех вставок до разрешения вызова? Я считаю, что q.promise будет разрешен до того, как будут вставлены все строки.
Я думаю, что внутри каждого применяется проверка как if (rows === responseData.length) означает все данные, вставленные в db. –
То нормально, но не проблема. Я хочу решить обещание, как только все вставки будут завершены. Я думаю, что решение будет вызвано до того, как будут вставлены все строки. –
разрешить обещание внутри вышеуказанной проверки. –