Показать сообщение отдельно
  #1 (permalink)  
Старый 10.12.2010, 16:20
Аватар для a.malitsky
Аспирант
Отправить личное сообщение для a.malitsky Посмотреть профиль Найти все сообщения от a.malitsky
 
Регистрация: 26.03.2010
Сообщений: 56

executeAsync, SQLite, Firefox extension
Не могу передать в объект результаты работы внутри функции executeAsync:
function virt(){
//блаблабла
this.getDb = function (id){
var statement = db.createStatement("SELECT * FROM `table` WHERE r_id=:id;");
statement.params.id=id;
statement.executeAsync({
	handleResult: function(aResultSet){
	var row=aResultSet.getNextRow();
	this.r_id=row.getResultByName("r_id");},
	//row (или r_id) надо передать наружу - в объект, частью которого является данная функция
	handleError:,//функция из примера ниже
	handleCompletion://функция из примера ниже   
	});
alert(this.r_id);//undefined (для row - тоже самое)
}}

Задача - прочитать строку БД и передать полученный массив(спец объект) в объект virt. Eval и window.row не работают - вылетает ошибка NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN. Всё это в плагине (сайдбар) для FF. Пытался передавать и строки (свойства объекта row).

Спецификация фунцкции executeAsync и пример её использования.

Чувствую что упускаю что-то глобальное и(но) очевидное - помогите найти. Если сам же положил грабли и не могу обойти - толкните в нужном направлении. Спасибо!

Последний раз редактировалось a.malitsky, 10.12.2010 в 16:22.
Ответить с цитированием