Android NativeScript vue中的异步/等待。为什么dialogs获胜';没有按正确的顺序显示?

Android NativeScript vue中的异步/等待。为什么dialogs获胜';没有按正确的顺序显示?,android,vue.js,async-await,nativescript,nativescript-vue,Android,Vue.js,Async Await,Nativescript,Nativescript Vue,如何在nativescript vue中使用等待同步? 下面的Vue代码在浏览器中以正确的顺序显示,但会更改nativescript中的对话框顺序。 有人能猜出这里出了什么问题吗 工作Vue代码 async start() { await this.speak("first"); this.answer = await this.ask("question"); await this.speak(this.answer); }, 在使用natives

如何在nativescript vue中使用等待同步? 下面的Vue代码在浏览器中以正确的顺序显示,但会更改nativescript中的对话框顺序。 有人能猜出这里出了什么问题吗

工作Vue代码

async start() {
      await this.speak("first");
      this.answer = await this.ask("question");
      await this.speak(this.answer);
    },
在使用nativescript时,相同的代码现在以正确的顺序显示对话框。 confirm()方法总是先显示

var-app=新的Vue({
el:“#应用程序”,
数据:{
信息:“起点”,
回答:"
},
方法:{
异步启动(){
等着吧。说(“第一”);
这个。回答=等待这个。问(“问题”);
等待这个。说(这个。回答);
},
发言(传入){
this.message=传入+语音;
警报(传入);
},
询问(传入){
this.answer=提示(传入);
this.message=this.answer+“就是答案”;
回答这个问题;
}
}
})

{{message}}
开始

这是因为web浏览器中的警报对话框会阻止主线程上运行的所有其他JavaScript代码。另外,
alert(…)
在Web上返回void

在NativeScript中,警报(…)返回一个保证对话框关闭的承诺。当在{N}中执行相同的代码时,它不会等待
警报(…)
对话框关闭,因为您没有返回承诺

speak(incoming) {
  this.message = incoming + " speech";
  return alert(incoming);
},
也会回报承诺