首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在本地文本中使用已完成的回调函数?

如何在本地文本中使用已完成的回调函数?
EN

Stack Overflow用户
提问于 2019-11-19 14:30:58
回答 1查看 205关注 0票数 0

如何使用回调函数订购本地文本文本信息?

如何使用已完成的回调函数?

nativescript-texttospeech在finishedCallback中具有SpeakOptions属性。

我需要TTS逐个阅读文本仅此而已。

代码语言:javascript
复制
talk("First message");
talk("Second message");
talk("Last message");
代码语言:javascript
复制
<template>
  <Page>
    <ActionBar title="Speak Promises Component" />
    <StackLayout>
      <Label :text="speakoptions.text" col="0" row="0" />
      <Button text="start" @tap="start" />
    </StackLayout>
  </Page>
</template>

<script >
import {  TNSTextToSpeech,  SpeakOptions as speakoptions } from "nativescript-texttospeech";
let TTS = new TNSTextToSpeech();

export default {
  data() {
    return {
      speakoptions: {
        text: " ",
        locale: "en-GB",
        finishedCallback: "" // what kind of function it should be?
      }
    };
  },
  methods: {
    start: async function() {
      await this.talk("First message");
      await this.talk("Second message");
      await this.talk("Last message");
    },
    talk: function(message) {
      this.speakoptions.text = message;
      return TTS.speak(this.speakoptions);
    }
  }
};
</script>

<style scoped >
</style>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-19 20:12:20

试着包装你自己的承诺,这会有帮助的。

代码语言:javascript
复制
talk: function(message) {
  var speakOptions = { ...this.speakoptions, text: message };
  return new Promise((resolve, reject) => {
     speakOptions.finishedCallback = resolve;
     TTS.speak(speakOptions)
  });
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58936344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档