MCPcopy
hub / github.com/baidu/amis / runDataProviderUnsubscribe

Method runDataProviderUnsubscribe

packages/amis/src/renderers/Service.tsx:452–484  ·  view source on GitHub ↗

* 运行销毁外部函数的方法 * * @param {ProviderEventType} event 事件名称,不传参数即执行所有销毁函数

(event?: ProviderEventType)

Source from the content-addressed store, hash-verified

450 * @param {ProviderEventType} event 事件名称,不传参数即执行所有销毁函数
451 */
452 runDataProviderUnsubscribe(event?: ProviderEventType) {
453 const dataProviderUnsubscribe = this.dataProviderUnsubscribe;
454
455 if (!dataProviderUnsubscribe) {
456 return;
457 }
458
459 if (event) {
460 const disposedFn = dataProviderUnsubscribe[event];
461
462 try {
463 if (disposedFn && typeof disposedFn === 'function') {
464 disposedFn();
465 }
466 } catch (error) {
467 console.error(error);
468 }
469 } else {
470 Object.keys(dataProviderUnsubscribe)?.forEach(
471 (event: ProviderEventType) => {
472 const disposedFn = dataProviderUnsubscribe[event];
473
474 try {
475 if (disposedFn && typeof disposedFn === 'function') {
476 disposedFn();
477 }
478 } catch (error) {
479 console.error(error);
480 }
481 }
482 );
483 }
484 }
485
486 // 外部函数回调更新数据
487 dataProviderSetData(data: any) {

Callers 2

componentWillUnmountMethod · 0.95
runDataProviderMethod · 0.95

Calls 3

forEachMethod · 0.80
keysMethod · 0.80
errorMethod · 0.45

Tested by

no test coverage detected