Возврат объекта из функции асинхронного действия. Расширение Durable Azure Function Nodejs. - PullRequest
0 голосов
/ 28 ноября 2018

В функции активности мы что-то возвращаем, выполняя

context.done(null, object);

функции длительного пользования, где object - это мой целевой объект для отправки.

, но когда я делаю свою функцию активности асинхронной, я не могу использовать context.done

без context.done как я могу отправить желаемый объект из функции деятельности?

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Если нам нужно только вернуть sth в функцию оркестратора, которая вызывает это действие, достаточно простого return object;.Привязки полезны, когда мы хотим вывести результат в другие службы, такие как хранилище больших двоичных объектов, HTTP-ответ и так далее.

Затем в оркестраторе возьмите объект как обычно.

var myObject = yield context.df.callActivity(...);
0 голосов
/ 28 ноября 2018

Просто верните его.То есть, где бы вы сделали context.done(null, object), используйте return object вместо этого.Для множественных выходных привязок используйте свойства объекта как обычно.Однако, если у вас есть только одна выходная привязка, вы можете привязать ее непосредственно к возвращаемому значению, установив имя привязки в function.json равным $return, например,

{
    "bindings": [
        {
            'type': ...,
            'direction': 'out',
            'name': '$return'
        },
        ...
    ],
    ...
}
...