如何同步等待用户的执行结果

就是说某段代码里面显示出一个或者几个按钮,然后要等用户点了按钮后,根据点击的按钮执行不同的代码。现在是显示出按钮后,代码就直接跑完了,必须缓存很多数据,然后再在按钮对应的事件结合缓存的数据来执行代码,这样感觉不好。

就比如,一个函数showdialog(),然后就显示几个按钮,必须等用户点击按钮,该函数才会返回,这个函数应该怎么写?

好像办不到吧

用promise?

是想要拿到showdialog的返回值吗,然后返回值是由点击的按钮决定是什么的?

showdialog:function(){
//显示按钮
while(1){
//等待用户的执行结果
if(用户点了按钮){
break;
}
}
}

正解,回调多了头疼

能给个范例代码吗?

对,就是这个意思。

不建议使用promise

我们遇到一个bug,一些用户的卡在获取服务器信息的位置,后来发现是在iOS10的某一个版本上promise存在bug
后来我们就全部换成回调了

你用TS吗? TS不是能编译成ES5? 我以前经常遇到IOS手机不兼容各种问题, 所以从来不敢用ES6

阻斷函數。不可能的吧。印象中java和c++可以這麼幹。其他的就不知道了。