Skip a slow function

I added this:

// Function to send a TCP request and get the result as a string
void send_request (String request) {
     
    unsigned long startTime;
  
    // Connect    
    Serial.println("Starting connection to server...");
    
     startTime = millis();
     
    do  {
    client = cc3000.connectTCP(ip, port);
        }
    while((!client.connected()) && ((millis() - startTime) < connectTimeout));
      
    // Send request
    if (client.connected()) 
    {
      client.println(request);      
      client.println(F(""));
      Serial.println("Connected & Data sent");
    }                                                  
    else {
        Serial.println(F("Connection failed"));
         }
   
    while (client.connected()){
      while (client.available()) {char c = client.read();}
     }

    Serial.println("Closing connection");
    Serial.println("");
    client.close();
}

But i still freezes sometimes. Any ideas?