有用Thinkjs的么?关于在异步操作中使用session无法连续写入的问题?

我有个需求是这样的:
在Action中有个操作是耗时操作,所以我并没有使用await来阻塞而是让它进行异步执行

mianAction(){
  this.child()
  return this.end()
}

然后在这个async方法里进行循环写入session

async child(){
  for(var i = 0; i < 10; i++){
    await this.session('value' + i, Math.random())
  }
}

然后,我查看了session文件(我的session是file类型),session只有一条记录,也就是value0的值,求问怎么解决这个问题。
另外,我试过在child方法里用fs写文件,同样是写文件的耗时操作,fs的结果没毛病,session就不行,为什么?

阅读 2.5k
1 个回答
mianAction(){
  this.child() //返回的是个promise
  return this.end() //没等promise resolve它就return了,写入session操作就不执行了
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题