本文整理汇总了TypeScript中@nteract/core.selectors.currentKernelRef方法的典型用法代码示例。如果您正苦于以下问题:TypeScript selectors.currentKernelRef方法的具体用法?TypeScript selectors.currentKernelRef怎么用?TypeScript selectors.currentKernelRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@nteract/core.selectors
的用法示例。
在下文中一共展示了selectors.currentKernelRef方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: switchMap
switchMap((action: actions.LaunchKernelAction) => {
if (
!action.payload ||
!action.payload.kernelSpec ||
!action.payload.kernelRef
) {
return of(
actions.launchKernelFailed({
error: new Error("launchKernel needs a kernelSpec and a kernelRef"),
kernelRef: action.payload && action.payload.kernelRef,
contentRef: action.payload.contentRef
})
);
}
ipc.send("nteract:ping:kernel", action.payload.kernelSpec);
const oldKernelRef = selectors.currentKernelRef(state$.value);
// Kill the old kernel by emitting the action to kill it if it exists
let cleanupOldKernel$:
| Observable<never>
| Observable<actions.KillKernelAction> = empty();
if (oldKernelRef && oldKernelRef !== action.payload.kernelRef) {
cleanupOldKernel$ = of(
actions.killKernel({ restarting: false, kernelRef: oldKernelRef })
);
}
return merge(
launchKernelObservable(
action.payload.kernelSpec,
action.payload.cwd,
action.payload.kernelRef,
action.payload.contentRef
),
// Was there a kernel before (?) -- kill it if so, otherwise nothing else
cleanupOldKernel$
).pipe(
catchError((error: Error) =>
of(
actions.launchKernelFailed({
error,
kernelRef: action.payload.kernelRef,
contentRef: action.payload.contentRef
})
)
)
);
}),