我有两个功能
callee() async {
  // do something that takes some time
} 
caller () async {
  await callee();
}在这个场景中,caller()一直等到callee()完成。我不想这样。我希望caller()在调用callee()之后立即完成。callee()可以在将来的任何时候完成,我不在乎。我只想像一根线一样开始,然后忘记它。
这个是可能的吗?
发布于 2016-05-31 17:18:22
当然,只是省略了await。通过这种方式,将立即调用callee(),并在调用异步操作时,将调用调度到事件队列中,以便稍后执行,然后继续执行caller()。
不过,这可不像一条线。如前所述,处理将排队到事件队列,这意味着在当前任务和所有以前排队的任务完成之前不会执行它。
如果您想要真正的并行执行,您需要利用隔离。
另请参阅
https://stackoverflow.com/questions/37551843
复制相似问题