以下のトップ関数のcase文の1つが順不同です。現在、プロンプトが表示され、キャンセルをクリックすると、operatorPickup
はまったく聞こえません。私は「警察」を入力すると、私はで、それは順序2に起こっている全く意味がありません、私はOperatorAnswer
を得る末現在の関数の、その後で呼び出される別の関数である警察の記録を取得します、3、1 - 3が同じ関数でさえないとき!JavaScript関数が順番に実行するのを拒否します
以前の経験から、アラート、プロンプト、または確認がUIをブロックして優先された場合にプロンプトを遅らせようとしましたが、それでも役に立たなかったです。
function response() {
switch(number) {
case "0":
var operatorPickup = new Audio('OperatorAnswer.wav');
operatorPickup.play();
setTimeout(function() {
number = prompt("Operator, your number please? (Numbers only; enter 'police' for police and emergency)");
number = number;
operatorPutCallThrough();
}, 9);
break;
case "911":
var pickup911 = new Audio('911-xxx-fleet.mp3');
pickup911.play();
break;
case "18477651008":
var pickupMCI = new Audio('MCI.wav');
pickupMCI.play();
break;
case "8675309":
var pickup8675309 = new Audio('discoornis-bell-f1.mp3');
pickup8675309.play();
break;
case "police":
break;
default:
var pickupDefault = new Audio('ldcircuits-bell-f1.mp3');
pickupDefault.play();
}
}
function operatorPutCallThrough() {
if (number == "police") {
var operatorPoliceTransfer = new Audio('OperatorPolice.wav');
operatorPoliceTransfer.play();
}
response();
}
どのように私は順序にを実行するswitch(number)
場合 "0" を強制することができますか?
これを行うと、録音はまったく再生されませんが、アラートボックスはポップアップしません。すべてがちょうど停止する – InterLinked
意味がない...あなたはコンソールに何かエラーがありますか?あなたは 'var operatorPickup = new Audio( 'OperatorAnswer.wav');と' operatorPickup.play(); 'の間にeventlistenerを追加しましたか? –
私はvar operatorPickupもそれを解決する前にそれを持っていた! – InterLinked