Return 来自异步的对象 activity 函数持久扩展 Azure Function Nodejs
Return object from async activity function Durable extension Azure Function Nodejs
在一个 activity 函数中,我们 return 通过
做一些事情
context.done(null, object);
持久函数
其中 object
是我要发送的目标对象。
但是当我使 activity 函数异步时,i can not use context.done
没有 context.done
我如何从 activity 函数发送我想要的对象?
就return吧。也就是说,您应该在 context.done(null, object)
的地方使用 return object
来代替。对于多个输出绑定,照常使用对象属性。但是,如果您只有一个输出绑定,则可以通过将 function.json 中的绑定名称设置为 $return
,将其直接绑定到您的 return 值,例如
{
"bindings": [
{
'type': ...,
'direction': 'out',
'name': '$return'
},
...
],
...
}
如果我们只需要return调用这个activity的orchestrator函数,一个简单的return object;
就足够了。一旦我们想要将结果输出到其他服务(如 blob 存储、http 响应等),绑定就很有用。
然后在 orchestrator 中,照常获取对象。
var myObject = yield context.df.callActivity(...);
在一个 activity 函数中,我们 return 通过
做一些事情context.done(null, object);
持久函数
其中 object
是我要发送的目标对象。
但是当我使 activity 函数异步时,i can not use context.done
没有 context.done
我如何从 activity 函数发送我想要的对象?
就return吧。也就是说,您应该在 context.done(null, object)
的地方使用 return object
来代替。对于多个输出绑定,照常使用对象属性。但是,如果您只有一个输出绑定,则可以通过将 function.json 中的绑定名称设置为 $return
,将其直接绑定到您的 return 值,例如
{
"bindings": [
{
'type': ...,
'direction': 'out',
'name': '$return'
},
...
],
...
}
如果我们只需要return调用这个activity的orchestrator函数,一个简单的return object;
就足够了。一旦我们想要将结果输出到其他服务(如 blob 存储、http 响应等),绑定就很有用。
然后在 orchestrator 中,照常获取对象。
var myObject = yield context.df.callActivity(...);