Sails.js 1.0帮助程序链接为承诺

Sails.js 1.0帮助程序链接为承诺,sails.js,Sails.js,我不熟悉Sails.js,我希望使用sail.js开发一个新的应用程序,在这个应用程序中,我希望尽快响应POST请求,然后异步处理大量负载任务。理想情况下,对于要在有效负载上执行的任务的每个步骤,我都会有一个助手,并在操作中异步链接它们。我一直在浏览文档,似乎找不到一个方法来做到这一点 这是解决这个问题的正确方法吗?如果是的话,您如何/可以向我指出文档,或者是否有其他方法来处理我忽略的这个问题 谢谢只要将您的服务方法设置为承诺并尽早解决即可。例如,您可以导入bluebird来完成此任务。 在控制

我不熟悉Sails.js,我希望使用sail.js开发一个新的应用程序,在这个应用程序中,我希望尽快响应POST请求,然后异步处理大量负载任务。理想情况下,对于要在有效负载上执行的任务的每个步骤,我都会有一个助手,并在操作中异步链接它们。我一直在浏览文档,似乎找不到一个方法来做到这一点

这是解决这个问题的正确方法吗?如果是的话,您如何/可以向我指出文档,或者是否有其他方法来处理我忽略的这个问题


谢谢

只要将您的服务方法设置为承诺并尽早解决即可。例如,您可以导入bluebird来完成此任务。 在控制器中:

myPostEndpoint: (req, res) => {
  return MyProcessorService.initProcessing(req.body).then(res.json);
}
在您的服务MyProcessorService中:

您还可以使用和之类的内容设置工作队列,以便将作业发送到WorkerService或单独的工作应用程序中并在其中运行。

对于ES6,您可以使用async/Wait或作为承诺

const temp1 = await sails.helpers.stepone();
const temp2 = await sails.helpers.steptwo( temp1 );
let result  = await sails.helpers.stepthree( temp2 );
// use result here


我认为@rrforshort是专门询问助手,而不是较旧的服务结构@carpiediem助手已经是异步的。我当时以为OP是指一般意义上的助手,但你可能是对的。
const temp1 = await sails.helpers.stepone();
const temp2 = await sails.helpers.steptwo( temp1 );
let result  = await sails.helpers.stepthree( temp2 );
// use result here
sails.helpers.stepone
.then(sails.helpers.steptwo)
.then(sails.helpers.stepthree)
.then(result => {
  // use result here
});