Ho una funzione che fa qualcosa di simile:catena multipla "quindi" in jQuery.when
function do_something() {
// some code
return $.when(foo, bar, baz).then(do_something_else);
}
function do_something_else(_foo, _bar, _baz) {
// do something else
return /* the original inputs */;
}
Così, quando qualcuno usa do_something
, possono anche catena più callback, come:
do_something().then(function(_foo_2, _bar_2, _baz_2) {
console.log(_foo_2, _bar_2, _baz_2);
});
Il problema è che non so come bypassare il ritorno originale da do_something_else
alla funzione anonima descritta. Non voglio ricevere una lista, ma gli argomenti posizionali, quindi "when foo" inserisce qualche valore nel do_something_else di _foo e poi lo stesso valore va a _foo_2.
Come posso farlo in JS?
Qual è la differenza tra .done e .questo in questo caso? Sto eseguendo [questo esempio] (https://gist.github.com/anonymous/5823503) –
'. Così creeremo un nuovo rinvio e lo aggiungeremo alla catena. La prossima cosa che fai sulla catena, come '.done' o' .then', avrà accesso solo a ciò che è stato restituito dal precedente '.then'. –
@KevinB: È così che jQuery l'ha implementato? Triste :(Nella proposta originale, la nuova promessa viene risolta con i risultati originali se nessuno viene restituito dal callback '.then'. –