本文整理汇总了TypeScript中ember-metal.run.join方法的典型用法代码示例。如果您正苦于以下问题:TypeScript run.join方法的具体用法?TypeScript run.join怎么用?TypeScript run.join使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ember-metal.run
的用法示例。
在下文中一共展示了run.join方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: handler
handler(event: Event): boolean {
let { actionName, namedArgs } = this;
let bubbles = namedArgs.get('bubbles');
let preventDefault = namedArgs.get('preventDefault');
let allowedKeys = namedArgs.get('allowedKeys');
let target = this.getTarget();
let shouldBubble = bubbles.value() !== false;
if (!isAllowedEvent(event, allowedKeys.value())) {
return true;
}
if (preventDefault.value() !== false) {
event.preventDefault();
}
if (!shouldBubble) {
event.stopPropagation();
}
run.join(() => {
let args = this.getActionArgs();
let payload = {
args,
target,
name: null,
};
if (typeof actionName[INVOKE] === 'function') {
flaggedInstrument('interaction.ember-action', payload, () => {
actionName[INVOKE].apply(actionName, args);
});
return;
}
if (typeof actionName === 'function') {
flaggedInstrument('interaction.ember-action', payload, () => {
actionName.apply(target, args);
});
return;
}
payload.name = actionName;
if (target.send) {
flaggedInstrument('interaction.ember-action', payload, () => {
target.send.apply(target, [actionName, ...args]);
});
} else {
assert(
`The action '${actionName}' did not exist on ${target}`,
typeof target[actionName] === 'function',
);
flaggedInstrument('interaction.ember-action', payload, () => {
target[actionName].apply(target, args);
});
}
});
return shouldBubble;
}
示例2: flaggedInstrument
return flaggedInstrument('interaction.ember-action', payload, () => {
return run.join(self, fn, ...processArgs(args));
});