2015-04-05 3 views
0

Я использую $ localForage.setItem для хранения данных локально в ионном мобильном приложении. данные составляют около 7 МБ, а приложение замораживается в течение нескольких секунд при использовании setItem.

Любой совет, как решить это?

ответ

0

Вы можете использовать Promises, чтобы приложение продолжало работать, пока данные извлекаются.

localforage.getItem("sellerName").then(function(sellerName) { 
     // .... Any code that DEPENDS ON THIS DATA goes here. 
     // THIS code will have a pause prefacing it, but code 
     // outside of this funtion will continue to process. 
}); 

Надеюсь, это поможет вам! Если ваши данные зависят от извлекаемых данных, вам может потребоваться восстановить их раньше (например, кэшировать) или временно разместить изображение загрузчика на экране. Удачи!

Добавление: Вы могли бы попробовать это, я использовал его для извлечения «больших данных» и принести несколько результатов больших данных ...

var getLogs = $.ajax({ type: 'GET', url: 'testget.php?more=1' }); 
$('#results').html('Loading...'); 
$.when(getLogs).then(function(getLogs) { 
    $('#results').html(getLogs); 
}, handleError); 
function handleError(xhr, status, error) { 
    console.log("There was an Error: " + error.toString()); 
} 

Это должно справиться с вашей проблемой.^5

+0

Вопрос задан относительно элемента настройки, у меня есть аналогичная проблема, даже если вы используете обещающий обратный вызов. – DazChong

Смежные вопросы