Я работаю над сценарием конференц-связи Twilio.Мой фрагмент кода добавляет руководителя в прямую конференц-связь.Теперь я хочу отправить клиентский callid, Agent callid и callid супервизора во внешний интерфейс.Используется следующий фрагмент кода.Таким образом, согласно моему сценарию, будут возвращены три callid, но в некоторых случаях возвращаются два call-sid.Я не знаю почему, но я справился с ситуацией, если еще структура.Но возникает проблема, связанная с тем, что sid супервизора всегда возвращается с правильным значением, но в некоторых случаях agentcallsid и clientcallsid переключаются.Нужно руководство для любого альтернативного метода.фрагмент кода приведен ниже.
const joinConference = (conferenceSid, supervisorName, callback) => {
let participantsArray = [];
client.conferences(conferenceSid)
.participants
.create({
from: '+18xxxxxxxxx',
to: `client:${supervisorName}`
})
.then(participant => {
const supervisorCallSid = participant.callSid;
console.log(`Supervisor Call Sid in Join conference is ${supervisorCallSid}`);
client.conferences(conferenceSid)
.participants
.list((error, results) => {
if (error) {
console.error(error);
return;
}
participantsArray = results.map((participantsResult, index) => {
return {
[`agent${index}CallSid`]: participantsResult.callSid
}
});
console.log(participantsArray);
let result = {};
if (participantsArray.length > 2) {
result = {
"supervisorCallSid": participantsArray[0].agent0CallSid,
"clientCallSid": participantsArray[1].agent1CallSid,
"agentCallSid": participantsArray[2].agent2CallSid
}
} else {
result = {
"supervisorCallSid": supervisorCallSid,
"clientCallSid": participantsArray[0].agent0CallSid,
"agentCallSid": participantsArray[1].agent1CallSid
}
}
callback(result);
})
})
.done();
}
Проблема в том, что позиции agentcallsid и clientcallsid меняются при каждом вызове функции.Это проблема с картой.