如何将状态更改事件与用户操作结合在一起

问题描述 投票:0回答:1

我正在将一个第三方js库用于VoIP功能。该库基于连接,断开连接,进行呼叫等的WebSocket事件。

现在,问题在于将状态事件与操作绑定。

例如,这是连接到VoIP服务器的代码

var VoIP = create({
        call: {
            callDefaults: {
                sendInitialVideo: false
            }
        },
        logs: {
            logLevel: "SILENT"
        },
        authentication: {
            subscription: {
                server: "spidr-ucc.genband.com"
            },
            websocket: {
                server: "spidr-ucc.genband.com"
            }
        }
    });

为了听事件,我们说一个连接,有一个事件监听器

VoIP.on("call:stateChange", function (params) {



});

并且在HTML页面上有一个按钮,如果用户单击该按钮,API将尝试建立连接。

<button id="makeConnection" value="connect" />

$("#makeConnection").on("click",function(){

     doConnect();

});

function doConnect(){

  VoIP.connect({
          username: username,
          password: password
 });
}

[现在,我要以一种方式编程,当用户单击按钮时,它将调用VoIP.connect API,并以callbackthen的形式返回状态。

因此,在$("makeConnection")函数内部,我想要类似的东西,它可以建立连接并返回状态,这样我就不必管理状态更改并使连接动作有所不同。

doConnect().Onstate(function(status){


});
javascript jquery promise callback
1个回答
0
投票
function doConnect(){ VoIP.connect({ username: username, password: password }); return { onState(callback) { VoIP.on("call:stateChange", callback); } }; }
© www.soinside.com 2019 - 2024. All rights reserved.