【问题标题】:How can I work node functions in sequence, when the functions are different node projects?当功能是不同的节点项目时,如何按顺序工作节点功能?
【发布时间】:2019-01-14 21:38:34
【问题描述】:
我有 3 个节点不同的项目(服务)。这是结构。
BIG SERVICE
-service_1
-start.js
-service_2
-start.js
-service_3
-start.js
-big_start.js
我希望,当我运行 big_start.js 节点文件时,如果一切正常,首先工作 service_1->start.js,如果一切正常,第二个工作 service_2->start.js,如果一切正常,第三个工作 service_3-> 启动。 js.
【问题讨论】:
标签:
javascript
node.js
asynchronous
async-await
microservices
【解决方案1】:
如果您能够使用async/await,那么串联建模应该相对容易:
async awaitChain() {
try {
const result1 = await startService1();
const result2 = await startService2();
...
const result3 = await startService3();
...
catch (err) {
// handle error
}
// all is well each has been initialized in series
return await bigStart();
}
这种模式可以被抽象和概括为串行执行任意数量的异步函数,而 bluebird 有一个 each 原语应该可以做到这一点。