Client network interface optimization, is there any time delay in merging interfaces, resulting in the possibility of failure?

client network interface optimization, is there any time delay in merging interfaces, resulting in the possibility of failure?

each time you enter the home page, you need to call the interfaces of various business departments within the company.

-sharppragma mark - 
- (void)initUserData
{
    [self get_userInfo];//
    [self getRule];//
    [self getRealNameArea];//
    [self getAppSystem];
    [self getPunchCardInfo]; // 
    [self updateCardTypes:nil]; // 
    [self getWeather];//
    [self getProblemTypes];
    [self getFetch_ad];//
    [self updateSMSCount];//
    [self updateAddressList:NO failure:^(NSString *failure) {}];//

}

as an iOS development engineer, I think this is very undesirable.
should do an interface merge.

specifically, it is to make a gateway.
merge the interface, the background service of that interface, call the above multiple interfaces, integrate the data, and return it to the client.

the product says it is impossible.
because of the delay time, the interface of the
client has a time limit.
then the above multiple time interfaces are also time-limited.
if you pack one more layer, you"ll be dead.
it is not clear what logic this is.
it is not clear what the effect of time is.
at first glance, it makes sense. How to break
?

the product is very interesting.
what else does he say, call an interface, hang up, and die.
can still give users some information after calling multiple interfaces.

Mar.14,2021

  • depends on the relationship between these interfaces. If these interfaces read from a database, they will not fail only one. It is more appropriate to provide a general interface.
  • if the backends of these interfaces are scattered and independent of each other, one of them may fail.
  • another solution is to allow some of the information not to be obtained, replace it with a default value or error message, set a timeout in the background, and return the default value or error message after the timeout
Menu