这是我的情况:
我知道如何做每个部分,但是我对正确的顺序确实有疑问。我相信这与JS调用堆栈有关。在下面的代码确认窗口中始终是第一个。仅在确认(或不确认)之后才显示通知。
if ((verifyManager.CollectionExistsAsync(calendarDatabaseId, calendarCollectionId)).Result == false)
{
resourcesAvailable = false;
issueSource = "Cosmos Calendar";
}
如何切换订单?首先通知,然后提示确认。
答案 0 :(得分:1)
通知是异步的。当用户与其交互时,它们会触发事件。您可以处理if (TYPO3_MODE === 'BE') {
$icons = [
'mimetypes-x-content-login' => 'content_login.svg',
'mimetypes-x-content-login-overlay-approved' => 'content_login_overlay_approved.svg',
];
$iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class);
foreach ($icons as $identifier => $path) {
$iconRegistry->registerIcon(
$identifier,
\TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class,
['source' => 'EXT:YOUREXTENSIONNANME/Resources/Public/Icons/' . $path]
);
}
}
事件,以在用户关闭通知时执行代码。
close
请注意,您无法从let n = new Notification("Incomming call");
n.onclose = () => {
let c = confirm("Do you accept?");
if (c) {
do_something(this.peer);
}
};
函数返回任何内容,因为它是异步运行的。您需要对回调函数中的返回值进行任何处理(承诺对于更清晰地构造代码很有用)。参见How do I return the response from an asynchronous call?