Yield在ember并发任务中不停止流

bvjveswy  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(129)
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得到解决吗?
承诺运行良好,下一次也有效

tyky79it

tyky79it1#

假设您使用的是ember-data,您可能会遇到findRecord传回快取记录的情况。这取决于您是否已经载入记录(可能是从先前的findRecordfindAll或其他路由上的query载入,以及ember-data配接卡的设定方式:shouldBackgroundReloadRecordshouldBackgroundReloadAll是适配器上默认返回true的方法。当这些方法返回true时,将立即返回缓存的记录,但在“后台”再次提取记录。

相关问题