function placeOrder(orderNo) {
console.log("Order is: " + orderNo);
setTimeout(deliver(orderNo),5000);
}
function deliver(orderNo) {
console.log("Item is delivered with Order No.- " + orderNo);
}
placeOrder(1);
placeOrder(2);
placeOrder(3);
placeOrder(4);
placeOrder(5);
placeOrder(6);
上記のコードは nodejs コードであり、その出力は次のようになります。
order No:1
order No:2
order No:3
order No:4
order No:5
order No:6
Item is delivered with order No.- 1
Item is delivered with order No.- 2
Item is delivered with order No.- 3
Item is delivered with order No.- 4
Item is delivered with order No.- 5
Item is delivered with order No.- 6
しかし、私は次のような出力を得ています:
order No:1
Item is delivered with order No.- 1
order No:2
Item is delivered with order No.- 2
order No:3
Item is delivered with order No.- 3
order No:4
Item is delivered with order No.- 4
order No:5
Item is delivered with order No.- 5
order No:6
Item is delivered with order No.- 6
シングル スレッドと非同期コールバックの概念のどこかが間違っています。コードがどのように機能するかを誰かに説明してください。