Home > ISCH_PrimitivePin > reset
ISCH_PrimitivePin.reset() method
This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Reset the async primitive to the current canvas state
Signature
typescript
function reset(): Promise<ISCH_PrimitivePin>;1
Returns
Promise<ISCH_PrimitivePin>
Pin primitive object
Example
javascript
// 0. 确保当前文档是符号编辑器:优先复用测试符号,没有则新建后打开
const libUuid = await eda.lib_LibrariesList.getPersonalLibraryUuid();
const found = await eda.lib_Symbol.search('嘉立创示例_Pin测试符号', libUuid);
const symUuid = found[0] ? found[0].uuid : await eda.lib_Symbol.create(libUuid, '嘉立创示例_Pin测试符号');
await eda.lib_Symbol.openInEditor(symUuid, libUuid);
// 1. 生成本次运行专用的坐标,避免与之前保留的测试引脚重合
const x = 2000 + Math.floor(Math.random() * 8000);
const y = 2000 + Math.floor(Math.random() * 8000);
// 2. 在符号画布上创建一个测试引脚,名称为 CLK
const pin = await eda.sch_PrimitivePin.create(x, y, '1', 'CLK', 0, 10, null, 'None', 'IN');
// 3. 异步模式下把名称改成错误值
const asyncPin = pin.toAsync();
asyncPin.setState_PinName('WRONG_NAME');
// 4. reset() 丢弃未提交的修改
await asyncPin.reset();
// 5. 从画布重新取引脚,名称仍是原来的值(保留现场供观察)
const refetched = await eda.sch_PrimitivePin.get(pin.getState_PrimitiveId());
console.log('pinName after reset:', refetched.getState_PinName());1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24