【问题标题】:Understanding addEventListener callbacks from api? [duplicate]了解来自 api 的 addEventListener 回调? [复制]
【发布时间】:2019-01-17 19:41:22
【问题描述】:

我只是想了解一下 Jitsi Meet API 中的事件侦听器,我没有遇到过这样的事情,而且我确信它在很多 api 中的概念相同 - 我不确定接近。

基本上在jitsi meet api中你可以使用api.addEventListener(audioMuteStatusChanged, listener);如果切换静音,则设置事件侦听器。基本上,如果静音则为真,否则为假。我正在尝试获取一个值,以查看它何时静音或何时未静音。

它说“侦听器参数是一个函数对象,带有一个参数,当事件发生时将通知与事件相关的数据。”

那么当某些东西发生变化时,我如何获得真假值呢?

const result = api.addEventListener(audioMuteStatusChanged, return isitmuted);

编辑:尝试过:

 if (audioChatApi) {
  audioChatApi.addEventListener(audioMuteStatusChanged, function(listener) {
   if (listener){
     console.log("True " + listener);
   } else {
     console.log("False");
   };
 });
 };

并没有解决,我认为这个事件不适合这个任务

【问题讨论】:

  • 这和@deceze有什么关系
  • 确实如此。我添加了一堆关于回调的重复项。阅读它们以熟悉这个概念。
  • @RobStark — 您正试图将 return 语句放在需要函数的地方。你需要在那里放一个函数,你不能从它返回(至少不能到result)。
  • 原理一样,不能。您必须触发事件处理程序内的真/假值发生的任何事情。
  • 简而言之:事件 audioMuteStatusChanged 将在某个时间发生,可能会发生多次,且无法预料。想要从中返回任何东西是没有意义的。不,您需要将 function 绑定到该事件,以便在该事件发生时做一些事情。然后你什么都不return,你做点什么。

标签: javascript jitsi-meet


【解决方案1】:

会不会像下面这样?

const result = api.addEventListener(audioMuteStatusChanged, function(isMuted) {
  if (isMuted){
    //some code here
  } else {
    //some code here
  }
});

【讨论】:

  • 我试过了: if (audioChatApi) { audioChatApi.addEventListener(audioMuteStatusChanged, function(listener) { if (listener){ console.log("True " + listener); } else { console.日志(“假”);};}); };看起来这个活动不适合这份工作
猜你喜欢
  • 1970-01-01
  • 2022-12-03
  • 1970-01-01
  • 2014-06-24
  • 2019-12-14
  • 2014-12-21
  • 1970-01-01
  • 2013-06-10
  • 2020-12-16
相关资源
最近更新 更多