Thanks Msafiri for your answer. But you forgot that after I left my country, I settled in the U.S, so if I get approval from the U.S that I am not accepted as a refugee and now just waiting for my GC, it allows me to leave the U.S and come back to it, this is what the law says, meaning you're now considered as a permanent resident in the U.S but just waiting for your GC, so in this case I guess you can make a visitor visa to Canada and mention in the application that you're a permanent resident in the U.S.
What would make someone accepted to have GC in the U.S go to Canada and decide to be there? If you can provide the papers that you were accepted for the GC in the U.S, I don't think visa to Canada would be a problem before obtaining the GC, just provide proof of acceptance for GC.