Data that is 'written' in chaincode is not yet committed to the database, it is only a proposal to write something to the database at that point. So, waiting a few seconds in the chaincode would not be sufficient. Only committed data is read back in chaincode. Therefore after you make an update in chaincode and get the proposal response, you must submit the transaction to ordering. Only then can the data be read back in chaincode.
However, If you must read the data that you just wrote within the same chaincode function, then you will need to keep a map of the data that has been written and retrieve the value from the map rather than from the committed database.
Hope this helps :)