This is an extrememly vague question (which is going to have to have a pretty vague reply). Poker is an incredibly complex game and generalising things like that seems like a bad way of thinking about it. You should usually call an all in, because if they haven't flopped a full house+ you're going to have somewhere between 30% and 50% (35% to hit your flush but sometimes the over cards are live and sometimes your opponent can make a full house). If they have gone all in for pot you only need to win 33% of the time, and if they have gone all in for half pot then you need to win 25% of the time, because of
pot odds. I can also say that you should generally be aggressive with your draws because sometimes your opponent will fold but if they do call you're still going to have a decent chance to win.
As I say though, it really does repent on the situation and this is a vey hard question to answer. If your opponent is super nitty and they go all in for 2X pot on a paired board, it can be a very easy fold of your flush draw. If there are more people behind, you might be more inclined to call. If your opponent is a massive calling station and they are I elastic with the sizes they will call, maybe you don't want to be agressive with your draw in the first place. Are you in position in this hand, and what position has your opponent raised from, because this will dictate what kind of hands they can have. :/
Usually a call, but you're going to have to think in each specific situation and just think about how many % you think you are going to have on average compared to how many % you need to have to win.
Hope that helps!
Good luck!