Frontmatter
| id | 2661 |
| title | component.Base: promiseVdomUpdate() => honor the silentVdomUpdate state |
| state | Closed |
| labels | enhancement |
| assignees | tobiu |
| createdAt | Jul 31, 2021, 7:03 PM |
| updatedAt | Jul 31, 2021, 7:03 PM |
| githubUrl | https://github.com/neomjs/neo/issues/2661 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jul 31, 2021, 7:03 PM |
I have been chasing down this one for quite a while.
When calling
component.set()or manually locking a cmp for updates, most afterSet() methods are usingme.vdom = vdoM;.However, there are spots where I am using
me.promiseVdomUpdate()instead to use the callback.Those calls were bypassing the silent flag, which can trigger additional delta engine calls. The mean thing is that in those cases, the new vnode is not in place yet (the engine works async inside the vdom worker), which can lead to duplicate dom updates and result in errors.