我有一种方法可以接收一个文件,然后对该文件进行处理。但是处理时间很长,因此我想在后台执行此操作,只是告诉用户该文件现在将被处理。但是我的要求是,只有在调用之前完成后才能调用此任务。因此,用户应该会得到必须等待的错误。
我知道我可以将处理排队,但是我想保持简单。
那我该怎么办呢?并且是否有某种方法可以请求此任务是否完成,以便客户端可以刷新状态并获取标志(如果任务没有完成)?
答案 0 :(得分:1)
在您的异步方法中,将某些共享的数据结构“ taskProcessing”标志设置为true,最后将其设置为false。并在再次调用task且taskProcessing为true时返回错误。简单。