Web Imagens Vídeos Mapas Notícias Orkut Gmail mais »
Grupos visitados recentemente | Ajuda | Acessar
Página inicial dos Grupos do Google
Defered.setFinal
Há um número excessivo de tópicos que aparecem em primeiro plano neste grupo. Para fazer com que este tópico apareça primeiro, elimine essa opção de um outro tópico.
Erro ao processar a solicitação. Tente novamente.
sinalizar
  10 mensagens - Recolher todas  -  Traduzir tudo para Traduzido (ver todos os originais)
O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
Sua resposta não foi enviada.
Postagem publicada
 
De:
Para:
Cc:
Encaminhar para
Adicionar Cc | Adicionar Encaminhar para | Editar Assunto
Assunto:
Validação:
Com o objetivo de verificação, digite os caracteres que você vê na figura abaixo ou os números que ouvir ao clicar no ícone de acessibilidade. Ouça e digite os números que ouvir
 
Amit Mendapara  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 10 fev, 11:30
De: Amit Mendapara <mendapara.a...@gmail.com>
Data: Tue, 10 Feb 2009 19:00:36 +0530
Local: Ter 10 fev 2009 11:30
Assunto: Defered.setFinal

Hi Per,

I have just started again improving the MochiKit Extensions. While
creating tests for the Ajax module, I found one problem (not bug, but
specific to the feature I'm trying to implement). I registered a
callback which should be fired at the end of all registered callbacks.

I achieved by modifying Async.js with a new method `setFinal` (not
addFinal as there should be only one finalizer)  which gets fired when
`chain.length == 0`. It's simple. I would we happy if you add one such
function in MochiKit.Async.Defered...

Regards
--
Amit

  Async.patch
< 1K Fazer download

    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Per Cederberg  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 10 fev, 14:04
De: Per Cederberg <cederb...@gmail.com>
Data: Tue, 10 Feb 2009 17:04:56 +0100
Local: Ter 10 fev 2009 14:04
Assunto: Re: Defered.setFinal
I think this is a good idea. I needed something similar too, so I
ended up writing an ugly hack that worked most of the time...

    d.addBoth(function (res) {d.addBoth(finalFunc); return res; });

It adds new callback once the first deferred result drops in,
hopefully after all the other callbacks have been added...

But a more formally correct solution would probably be a good idea.

Cheers,

/Per

On Tue, Feb 10, 2009 at 2:30 PM, Amit Mendapara


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Bob Ippolito  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 10 fev, 14:48
De: Bob Ippolito <b...@redivi.com>
Data: Tue, 10 Feb 2009 08:48:44 -0800
Local: Ter 10 fev 2009 14:48
Assunto: Re: [mochikit] Re: Defered.setFinal
Finalizing a Deferred should ensure that no further callback/errbacks
are registered and it should attach a default error handler (success
should be no-op). The most common problem I've seen with Deferreds is
that an error occurs but nobody attached an error handler that far
down the stack. In Python they work around this by having a finalizer
so that you see the error when the object gets GC'ed, but that's not
really possible in JS since you don't have finalizers or weak
references.


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Amit Mendapara  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 10 fev, 15:58
De: Amit Mendapara <mendapara.a...@gmail.com>
Data: Tue, 10 Feb 2009 23:28:20 +0530
Local: Ter 10 fev 2009 15:58
Assunto: Re: [mochikit] Re: Defered.setFinal

Per,

Your hack won't work with my case as it would mark the deferred as
`chained` so consecutive addCallback/addErrback won't work. Considering
Bob's suggestion, I modified my patch to ensure no further
callback/errbacks can be registered.

Regards
--
Amit

  Async.patch
1K Download

    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Per Cederberg  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 10 fev, 17:52
De: Per Cederberg <cederb...@gmail.com>
Data: Tue, 10 Feb 2009 20:52:30 +0100
Local: Ter 10 fev 2009 17:52
Assunto: Re: [mochikit] Re: Defered.setFinal
You mean like this?

    setFinalizer: function(cb) {
        this._finalizer = cb;
    }

    ...

    if (this.chain.length == 0 && this._finalizer) {
        this.finalized = true;
        if (res instanceof Error) {
            this._finalizer(res);
        }
    }

Would that be acceptable to Amit as well? In that case we would add a
default error handler (called a "finalizer"), which would also be what
I'm planning to use this for.

Other opinions?

/Per


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Amit Mendapara  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 11 fev, 03:58
De: Amit Mendapara <mendapara.a...@gmail.com>
Data: Tue, 10 Feb 2009 21:58:06 -0800 (PST)
Local: Qua 11 fev 2009 03:58
Assunto: Re: Defered.setFinal
It's not just error handler, it should always be called at the end
once result is available and all callbacks/errback (including default
errback) are fired.

setFinalizer: function(cb) {
    this._finalizer = cb;

}

if (this.chain.length == 0 && this._finalizer) {
    this.finalized = true;
    this._finalizer(res);

}

--Amit

On Feb 11, 12:52 am, Per Cederberg <cederb...@gmail.com> wrote:


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Amit Mendapara  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 11 fev, 10:52
De: Amit Mendapara <mendapara.a...@gmail.com>
Data: Wed, 11 Feb 2009 04:52:21 -0800 (PST)
Local: Qua 11 fev 2009 10:52
Assunto: Re: Defered.setFinal
Even better...

if (this.chain.length == 0 && this._finalizer) {
    this._finalized = this._finalizer(res);

}

This will allow us to finalize the deferred based on some
conditions...

- Amit

On Feb 11, 12:52 am, Per Cederberg <cederb...@gmail.com> wrote:


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Per Cederberg  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 20 jul, 06:26
De: Per Cederberg <cederb...@gmail.com>
Data: Mon, 20 Jul 2009 11:26:12 +0200
Local: Seg 20 jul 2009 06:26
Assunto: Re: [mochikit] Re: Defered.setFinal
Slow response here, but I finally got around to committing this to
Subversion (r1533):

  http://trac.mochikit.com/changeset/1533

Modified the patch a bit further to account for some additional cases.
Also added tests and documentation.

@Bob: Can you please review this change? I have the feeling that I've
still missed one or two corner cases... Also, the mochikit.com and
trac.mochikit.com site seems slow from here... High server load
recently?

@Amit: Please check that my additional controls doesn't break you use case.

Cheers,

/Per


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Amit Mendapara  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 20 jul, 07:03
De: Amit Mendapara <mendapara.a...@gmail.com>
Data: Mon, 20 Jul 2009 03:03:55 -0700 (PDT)
Local: Seg 20 jul 2009 07:03
Assunto: Re: Defered.setFinal
Hi Per,

I have just tested the changes with the Ajax extension module and it
works as expected. Thanks for considering adding this feature. This
would help me creating jQuery compatible Ajax module for Mochikit
extensions project.

Currently, I'm quite busy with some another work but supposed to come
back on MochiKit Extensions soon...

Regards
--
Amit Mendapara

On Jul 20, 2:26 pm, Per Cederberg <cederb...@gmail.com> wrote:


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Giulio Cesare Solaroli  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 25 jul, 19:51
De: Giulio Cesare Solaroli <giulio.ces...@gmail.com>
Data: Sun, 26 Jul 2009 00:51:59 +0200
Local: Sab 25 jul 2009 19:51
Assunto: Re: [mochikit] Re: Defered.setFinal
Hello all,

On Tue, Feb 10, 2009 at 6:48 PM, Bob Ippolito<b...@redivi.com> wrote:

> Finalizing a Deferred should ensure that no further callback/errbacks
> are registered and it should attach a default error handler (success
> should be no-op). The most common problem I've seen with Deferreds is
> that an error occurs but nobody attached an error handler that far
> down the stack. [...]

In order to handle this case, we have overwrote the 'callback' method
in our subclass of the Deferred class, to add a default Errback that
at least logs the error.

A similar solution could be probably used also in MochiKit, allowing
the user to optionally specify a specific error handler / finalizer.
This will allow any further check, as once the Deferred is triggered
it is already impossible to add further callback/errback.

I will check anyway the fix added to the repository to see how to
improve our current extension with the committed fix.

Giulio Cesare


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Fim das mensagens
« Voltar às Discussões « Tópico recente     Tópico antigo »

Criar um grupo - Grupos do Google - Página inicial do Google - Termos de Uso - Política de Privacidade
©2009 Google