此javascript类和方法如何工作?

时间:2018-07-16 19:41:42

标签: javascript twilio

如Twilio文档中的here所示,以下代码如何工作?我们有一个connection类和一个on方法。如果我之前没有定义hasEarlyMediashowRingingIndicatorplayOutgoingRinging的含义,那么on方法如何知道它们的含义以及如何处理?谢谢。

connection.on('ringing', function(hasEarlyMedia) {
  showRingingIndicator();
  if (hasEarlyMedia) { playOutgoingRinging(); }
});

2 个答案:

答案 0 :(得分:2)

如果我们这样重写代码,也许更容易理解:


// when the Connection has entered the ringing state,
// call handleRingingEvent (callback function) and pass an argument, 
// a boolean denoting whether there is early media available from the callee
connection.on('ringing', handleRingingEvent);

function handleRingingEvent(hasEarlyMedia) {

    showRingingIndicator();

    if (hasEarlyMedia) {
        playOutgoingRinging();
    }

}

// if not defined somewhere else 
function showRingingIndicator() {
    // do something
}

// if not defined somewhere else     
function playOutgoingRinging() {
    // do something
}
 

我希望这会有所帮助。

答案 1 :(得分:1)

hasEarlyMedia是一个参数。请check

showRingingIndicator();playOutgoingRinging();方法必须在某处定义。必须在文件中包含的其中一个库中声明函数。