等待文件复制到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) 

如何等待副本完成? (事件,事件监听器,观察员......?)

+1

CopyTo从是同步的。你确定这个问题实际上并不是在复制之前没有关闭的旧文件? – Neil 2011-04-05 23:25:20

+0

谢谢你让我知道。一直在检查我的代码,它看起来像我的错误 - 我会做更多的检查,以确保它现在正常工作。当我遇到问题时,我认为'copyTo'可能是异步的。 – 2011-04-07 02:28:59

+0

我会关闭这个问题,因为这是我造成问题的错误。 – 2011-04-07 02:29:38

尼尔对我的问题的评论,促使我检查我的代码,我想我已经发现了导致错误地覆盖sqlite的文件中的错误。

关闭问题。