Why insert does not timeout when wtimeout=1000

i have a cluster which has one mongos and three shards:shard01,shard02,shard03, every shard has three replication members, that is:
shard01: one primary ,two secondary
shard02: one primary ,two secondary
shard03: one primary ,two secondary
mongos:port 32017

from mongos, i can see the default write concern:
w:majority, wtimeout:1000

i try to insert data using my script:
conn = new Mongo(“”)
db = conn.getDB(“testdb01”)
var i=1
while ( i<10001 ){
printjson(“begin insert”+i)
var dt=new Date()

i have a test:
try to kill -9 shard01`s primary mongod pid, then my insert hang between 15:34:44 and 15:34:54.
from mongod output log , i can see mongodb try to vote a new primary in the 10 seconds.
and i know the hang insert is trying to insert data into shard01 while insert data into shard02/shard03 will be successful.

my question is :why my insert does not timeout with an error because wtimeout is 1000 milliseconds.

i searched, the 10 seconds is the default connection timeout.
does it mean that: every operation from the same mongos connection will create a new connection to the shard node?
and how can i set connectTimeoutMS in my script?
it seems that i can not set connectTimtoutMS in the new mongo function .