我正在使用nodejs实现freeswitch ESL,我正在使用modesl模块,它工作正常,我可以使用execute函数调用dialplan工具。
然而,execute函数是nodejs的modesl模块中的异步实现。
我需要的是一个同步调用,这样当我调用执行函数时,执行应该等到freeswitch完成执行该应用程序。
在下面的代码示例中,我在播放完成之前得到输出“ivr finished”。
exports.process_ivr = function (conn, id)
{
conn.execute('answer');
conn.execute('playback','/root/before.wav');
console.log('ivr finished');
};
根据modesl,没有调用freeswitch命令的异步方法,有没有其他方法可以使用nodejs实现它?
答案 0 :(得分:1)
试试这个。
conn.execute('answer',function(){
conn.execute('playback','/root/before.wav',function(){
console.log('ivr finished');
});
});