Skip to content

destructor может вызываться много раз? #274

@zerkalica

Description

@zerkalica

https://github.com/eigenmethod/mol/blob/master/atom/atom.ts#L39

		destructor() {
			this.unlink()
			this.status = $mol_atom_status.actual
			
			const value = this['value()']
			
			if( value instanceof $mol_object ) {
				if( value.object_owner() === this ) value.destructor();
			}

			this['value()'] = undefined
		}		

Не пойму, как работают деструкторы. Если destructor есть у хоста, но хост не свойство атома, кто тогда его вызовет.

Не планируется вообще убрать функциональность с овнерами из mol_object в мапу, или хотя бы примешивать? Тогда можно для обычных объектов, не унаследованных от mol_object тоже использовать эти фичи.

Смущает то, что протекает этот mol_object на все слои.

Это не бага?

this.status = $mol_atom_status.actual 

Если после destroy произойдет get, мы получим undefined, если force не использовать.

if( !force && this.status === $mol_atom_status.actual ) return

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions