Я подозреваю, что вы пошли дальше, но я отвечу ради других.
Когда вы запускаете метод longRunningRecognize
, SDK начинает опрос longrunning operations.get
.Вам просто нужно настроить прослушиватель событий узла, используя .on
.
Объект Operation
(первый элемент массива обещания, возвращаемый из longRunningRecognize) генерирует события узла в progress
, complete
и error
.
Обновление кода OP:
client.longRunningRecognize(payload)
.then(responses => {
const operation = responses[0];
operation.on('progress', (metadata, apiResponse) => {
console.log(JSON.stringify(metadata))
});
});
Пример вывода: (аналогично https://speech.googleapis.com/v1/operations/...
)
{"startTime":{"seconds":"1529629181","nanos":790333000},"lastUpdateTime":{"seconds":"1529629182","nanos":661910000}}
{"progressPercent":26,"startTime":{"seconds":"1529629181","nanos":790333000},"lastUpdateTime":{"seconds":"1529629245","nanos":48465000}}
{"progressPercent":52,"startTime":{"seconds":"1529629181","nanos":790333000},"lastUpdateTime":{"seconds":"1529629307","nanos":516891000}}
{"progressPercent":78,"startTime":{"seconds":"1529629181","nanos":790333000},"lastUpdateTime":{"seconds":"1529629369","nanos":680341000}}
Обратите внимание, что очевидного пути нетчтобы получить частично расшифрованный текст с асинхронной операцией, только процент статуса.