我發送一個事件時,一個SQL查詢返回沒有匹配,這樣我就可以繼續添加到數據庫..看起來像動作要求我附加偵聽器的東西,但我真的沒有任何變量在我的代碼中,這似乎是合乎邏輯的候選人。在偵聽自定義事件時,要添加EventListener的內容?
我只是想偵聽isNewRecord事件被調用,以便我可以運行插入查詢;現在它說是調用addEventListern和dispatchEvent可能未定義的方法
public function addBG(BG:Number, datetime:String, batch:Boolean = false):void{
checkRecord('Gb', datetime, matchRecord);
addEventListener("isNewRecord", recordExists);
function recordExists()
{/*code to execute query*/}
public function matchRecord(result:SQLResult):void {
var match:String = result.data[0];
if (match == null) {
var allClear:Event = new Event("isNewRecord");
dispatchEvent(allClear);
}
}
我的問題是,我試圖做一種數據庫模型,每種類型數據的「添加」功能;但我需要驗證它不在那裏,這需要超出該函數w/sqlresult ..我認爲最好不要做所有的參數類屬性。也許這就是我必須要做的......不,它不會擴展事件調度程序,因爲這在語義上沒有意義,但我想這就是爲什麼添加/調度事件不起作用?儘管相同的代碼直接在mxml文件中工作。 – Damon 2011-03-16 03:45:30
是的,你需要有一個EventDispatcher對象,或者讓這個類擴展EventDispatcher以便使用addEventListener/dispatchEvent方法...所以在語義上它是有意義的。你應該把「addEventListener」方法放在「checkRecord」之上。這是我的不好,我編輯了我的代碼。對於Model對象來說,檢查數據庫並引發Exception或某種邏輯來處理已經存在的結果是很好的。 – 2011-03-16 14:32:52