鸡蛋框架的runInBackground有啥特殊作用吗
发布于 6 年前 作者 phper-chen 5142 次浏览 来自 问答

跟不加await,或者直接使用回调地狱的模式有区别吗

9 回复

我不加await不也可以吗

在请求完成后后台仍可以做一些任务(eg: 上传了一片文章, runInBackground里做敏感词检测替换)

@devil5263 你这个例子得用中间件过滤吧 他这个runInBackground只是不想主业务逻辑去等结果吧 但是这样的话我不加异步控制就行了啊

@phper-chen 额,说错了,创建文章,确实是实时检测的, 是后台管理更改敏感词后,需要对所有文章做检测(设计就是在文章中存一份已过滤的内容),这个是放在runInBackground的

@devil5263 我觉得你想多了 这个其实就是异步不加控制而已 只是想吐槽下 egg有些api没说太清楚

  1. 回调地狱 跟这里没啥关系。。。
  2. 你真的去试下就知道了。。。如果没有 await 的话,出现错误就是一个 nodejs.unhandledRejectionError 未捕获错误了。。。
  3. 这个真跟 egg api 没啥关系,属于 js 本身的知识了,就是一个 async function,里面有异步操作没有 await 的话,就是 未捕获错误 了。

@atian25 是的 是有一个这样的错误的 不过可以让它不提示的

@phper-chen 无视报错不是一种好习惯。。。

回到顶部