等待文件副本在Firefox扩展中完成

时间:2011-04-03 16:43:57

标签: javascript firefox-addon xpcom

我有代码将文件复制到新位置,然后在这个新位置打开文件。据我所知,有一个问题是代码可能会在复制完成之前尝试打开文件。

此问题特定于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)

我该如何等待副本完成? (事件,事件听众,观察者......?)

1 个答案:

答案 0 :(得分:0)

Neil对我的问题的评论促使我检查我的代码,我想我发现了一个错误导致sqlite文件被错误覆盖的错误。

结束问题。