2015-05-06 4 views
0

В ситуациях, когда в любой из моих коллекций нет записей, функция визуализации никогда не вызывалась. Вопрос: Каков минимальный минимум, который нужно вернуть для jQuery, когда/сделать, чтобы разрешить?callback in when/done никогда не набирается

$.when(collection2.fetch(), collection2.fetch()) 
    .done(function(data, data2){ 
     ... 
     _this.render(); 
    }); 

Заметь, я помеченный этот вопрос с Backbone.js, чтобы указать, что запрос на выборку является Backbone.Collection.fetch().

+0

Вы должны вернуть разрешенное обещание, если коллекция пуста (и вы хотите он по-прежнему ударил без данных) –

+0

Вам нужно показать код в 'fetch' для ответа, который имеет для вас определенный смысл :) –

+0

@TrueBlueAussi это Backbone.Collection.fetch(), поэтому я пометил Backbone.js , Извините, я этого не делал. Обновит OP. – Leahcim

ответ

1

Без вашего кода для fetch, я могу предложить только минимум.

Если ваша коллекция пуста, вернуть $.Deferred().resolve().promise() из fetch() и запустить done сразу (сразу после оба обещает быть решены конечно)

+0

Вы видели мой комментарий? Это Backbone.Collection.fetch()? В любом случае, как мне переписать OP для интеграции вашего кода, существует ли другая «ветвь» (из-за отсутствия лучшего слова), если '.done' никогда не выполняется? – Leahcim

+0

сделал. Я видел некоторые расширения fetch на SO, которые могли бы позволить крючок, но если оба 'done' и' fail' не срабатывают (пожалуйста, проверьте «fail» тоже), то есть что-то не так с обещанием 'fetch'. 'always()' будет срабатывать после условий 'done' или' fail', если это помогает. –

Смежные вопросы