当我尝试使用以下代码从ALMemory
获取数据时:
session.service("ALMemory").done(function (ALMemory) {
var value = ALMemory.getData("ALTextToSpeech/TextDone");
});
此
value
的类型为AL::ALValue
。我如何将其转换为int,因为在这种情况下,当前正在讲的语言应该是0,而在当前不讲的语言是1。我试图用不同的方法将其强制转换为int或number或string,但没有成功。当我将此功能与python SDK结合使用时:
def onLoad(self):
self.memory = ALProxy("ALMemory")
def onUnload(self):
self.memory = None
def onInput_checkIfSpeaking(self, p):
value = self.memory.getData("ALTextToSpeech/TextDone")
此
value
的类型为int,而不是AL::ALValue
。使用JavaScript可以实现吗? 最佳答案
在回调中设置值(所有函数都返回promise,可以在其上附加回调:promise.then(onFulfilled, onRejected)
):
session.service("ALMemory").then( function (ALMemory) {
ALMemory.getData("ALTextToSpeech/TextDone").then( function (TextDone) {
var value = TextDone;
});
});
作为记录,文档在这里:http://doc.aldebaran.com/2-5/dev/js/index.html