等待文件复制到Firefox扩展
问题描述:
完成我的代码将文件复制到新的位置,然后打开该文件在这个新位置。据我所知,在复制完成之前,代码可能会尝试打开文件存在问题。等待文件复制到Firefox扩展
此问题是特定的Firefox扩展其复制从默认位置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)
如何等待副本完成? (事件,事件监听器,观察员......?)
答
尼尔对我的问题的评论,促使我检查我的代码,我想我已经发现了导致错误地覆盖sqlite的文件中的错误。
关闭问题。
CopyTo从是同步的。你确定这个问题实际上并不是在复制之前没有关闭的旧文件? – Neil 2011-04-05 23:25:20
谢谢你让我知道。一直在检查我的代码,它看起来像我的错误 - 我会做更多的检查,以确保它现在正常工作。当我遇到问题时,我认为'copyTo'可能是异步的。 – 2011-04-07 02:28:59
我会关闭这个问题,因为这是我造成问题的错误。 – 2011-04-07 02:29:38