Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№104-09-2008 11:16:58

N1PhANtoM
Участник
 
Группа: Members
Откуда: Россия, Белгород
Зарегистрирован: 04-09-2008
Сообщений: 10
UA: Firefox 3.0

асинхронное чтение файла

Здравствуйте, уважаемое сообщество. Передо мной стоит следующая задача:
нужно асинхронно читать из файла, который очень большой, причем если прочитать за опредленное время не успел то надо обрывать чтение. пробовал примеры c nsilocalfile, синхронный вешает интерфейс, а асинхронный не понял как можно прекратить из основного кода. кто нибудь знает куда нужно копать?

Отсутствует

 

№204-09-2008 12:18:13

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: асинхронное чтение файла

N1PhANtoM

асинхронный не понял как можно прекратить из основного кода

А разве там закрытие потока не работает?


---  ---

Отсутствует

 

№304-09-2008 12:27:43

N1PhANtoM
Участник
 
Группа: Members
Откуда: Россия, Белгород
Зарегистрирован: 04-09-2008
Сообщений: 10
UA: Firefox 3.0

Re: асинхронное чтение файла

что вы имеете ввиду?
я там вообще не нашел способов закрытия. использовал примеры отсюда
http://developer.mozilla.org/En/Code_snippets:File_I/O
способов самому создавать потоки не нашел :(
если есть примеры или документация поделитесь пожалуйста.

Отсутствует

 

№404-09-2008 13:10:18

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Iceweasel 3.0

Re: асинхронное чтение файла

пробовал примеры c nsilocalfile, синхронный вешает интерфейс

сделайте, чтобы не вешал. например, так

Отсутствует

 

№504-09-2008 13:41:19

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: асинхронное чтение файла

N1PhANtoM

я там вообще не нашел способов закрытия. использовал примеры отсюда
http://developer.mozilla.org/En/Code_snippets:File_I/O

Так или так не работает:

Выделить код

Код:

stream.finish();
    stream.close();

?


---  ---

Отсутствует

 

№604-09-2008 17:50:14

N1PhANtoM
Участник
 
Группа: Members
Откуда: Россия, Белгород
Зарегистрирован: 04-09-2008
Сообщений: 10
UA: Firefox 3.0

Re: асинхронное чтение файла

использую данный пример

Выделить код

Код:

var ios = Components.classes["@mozilla.org/network/io-service;1"]
                    .getService(Components.interfaces.nsIIOService);
var fileURI = ios.newFileURI(file);
var channel = ios.newChannelFromURI(fileURI);
var observer = {
  onStreamComplete : function(aLoader, aContext, aStatus, aLength, aResult)
  {
    alert(aResult);
  }
};
var sl = Components.classes["@mozilla.org/network/stream-loader;1"]
                   .createInstance(Components.interfaces.nsIStreamLoader);
sl.init(channel, observer, null);

тут сигнал идет только при завершении потока. вот тут то у меня и проблема, не могу понять как ловить другие события, пробовал ondataavailable, он вообще не реагирует.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]