if (isEmpty(contact) || isEmpty(get(contact, 'emails'))) {
contact = yield store.findRecord('contact', contactId);
}
if (isEmpty(contact) || isEmpty(get(contact, 'emails'))) {
flashMessages.danger(i18n.t('email.cpq_document_email_missing'));
return false;
}
第二个程序块在promise运行的时候运行,而我得到了一个错误。难道它不应该停止流程,直到promise得到解决吗?
承诺运行良好,下一次也有效
1条答案
按热度按时间tyky79it1#
假设您使用的是
ember-data
,您可能会遇到findRecord
传回快取记录的情况。这取决于您是否已经载入记录(可能是从先前的findRecord
、findAll
或其他路由上的query
载入,以及ember-data
配接卡的设定方式:shouldBackgroundReloadRecord
和shouldBackgroundReloadAll
是适配器上默认返回true
的方法。当这些方法返回true
时,将立即返回缓存的记录,但在“后台”再次提取记录。