Loopbackjs 远程钩子是按顺序执行的吗?
假设我在同一远程模型上为同一远程方法定义了多个钩子:Loopbackjs 远程钩子是按顺序执行的吗?,loopbackjs,angular-loopback,Loopbackjs,Angular Loopback,假设我在同一远程模型上为同一远程方法定义了多个钩子: MyModel.afterRemote('create', function (context, instance, next) { // Do A }) MyModel.afterRemote('create', function (context, instance, next) { // Do B }) MyModel.afterRemote('create', function (context, instance
MyModel.afterRemote('create', function (context, instance, next) {
// Do A
})
MyModel.afterRemote('create', function (context, instance, next) {
// Do B
})
MyModel.afterRemote('create', function (context, instance, next) {
// Do C
})
环回是否会按照定义的顺序依次执行这些操作,例如A是否会在B之前完成,等等?我很确定是这样。钩子只是将“中间件”添加到请求处理中,每个中间件都需要等待,直到在前一个中间件中调用
next()
。你试过这个吗?它不是这样工作的吗?@jakerella只有在回调函数“Do A”、“Do B”和“Do C”中没有异步操作的情况下才是这样。如果在next()之前有任何异步操作,则不能保证回调内部的操作将按任何特定顺序完成。@A.Z.您的观察是正确的,但我的问题是next()
是在任何挂钩中进行的最后一次调用(例如,如果有异步操作,则在回调内部进行)@csvan这是我现在正在寻找的答案。有进一步的信息吗?