У меня есть код, чтобы скопировать файл в новое место, а затем открыть файл в этом новом месте. Насколько я могу судить, существует проблема в том, что код может попытаться открыть файл до завершения копирования.
Эта проблема относится к расширению Firefox, которое копирует базу данных sqlite из местоположения по умолчанию в новое местоположение, указанное пользователем. Если файл sqlite не существует в новом месте, то вызов openDatabase
создаст новую пустую базу данных.
// some pseudocode
var old_path // is an nsILocalFile instance
var new_path // is an nsILocalFile instance
// copy file
old_path.copyTo(new_path)
// open sqlite database
var ss = Components.classes["@mozilla.org/storage/service;1"]
.getService(Components.interfaces.mozIStorageService);
var db = ss.openDatabase(new_path)
Как мне дождаться завершения копирования? (События, слушатели событий, наблюдатели ...?)