Я слежу за учебником, используя ember 2.9.1, узел 6.9.1, chrome 53.0.2785.143 и OS/X 10.11.6.Контролировать порядок разрешения обещаний ember?
Когда я создаю компонент, описанный здесь: https://guides.emberjs.com/v2.8.0/tutorial/autocomplete-component/
Я в конечном итоге с условием гонки. Если я ввожу символ p во вход и очень быстро ударяю назад, я получаю модели, отфильтрованные символом p, но не вводят в текстовое поле.
Некоторое консольное ведение журнала предполагает, что это происходит, потому что второе обещание (которое возвращает все модели, поскольку вход пуст) разрешает сначала, и первое обещание (возврат фильтрованных моделей) разрешается вторым.
Есть ли что-нибудь, что можно сделать по этому поводу?
я собираюсь принять это, но я хотел бы, чтобы отправить полученный исходный код тоже! Я поставлю его в другом ответе, но не стесняйтесь копировать его в свои. –
Если вы хотите, не стесняйтесь редактировать мой ответ. – ykaragol
Обратите внимание, что вы можете удалить избыточность операции 'handleFilterEntry', просто выполнив' handleFilterEntryTask' и просто используйте 'perform handleFilterEntryTask' где угодно, вы бы хотели использовать' action 'handleFilterEntry''. Кроме того, в более поздних Embers (я думаю,> = 2.4?) Вы можете просто использовать 'action handleFilterEntryTask', и это сработает. –