Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loopbackjs 远程钩子是按顺序执行的吗?_Loopbackjs_Angular Loopback - Fatal编程技术网

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这是我现在正在寻找的答案。有进一步的信息吗?