在浏览器端,耗时很长的操做都应该异步执行,避免浏览器失去响应,最好的例子就是Ajax操做。在服务器端,"异步模式"甚至是惟一的模式,由于执行环境是单线程的,若是容许同步执行全部http请求,服务器性能会急剧降低,很快就会失去响应。小程序
最近在小程序开发中也遇到了这个问题,主要wx.openBluetoothAdapter
这个函数,js认为其太消耗时间,就先跳过运行,可是咱们须要在这个函数中得知蓝牙到底有没有打开,下面就开始介绍如何处理异步。浏览器
callback服务器
实例代码以下:异步
openblue: function (callback) { var that = this; console.log("openblue运行") wx.openBluetoothAdapter({ success: function(res) { console.log("蓝牙打开成功", res); callback(true); }, fail: function(res) { console.log("蓝牙未打开"); wx.showToast({ title: '请先打开蓝牙', image: '../../images/蓝牙.svg', mask: true }) callback(false); } });
经过callback会调的方式能够使函数运行wx.openBluetoothAdapter
函数返回true或者false以后再执行接下来的函数,若是咱们在代码中并无使用callback,而是使用return直接返回结果的话,获得的结果将会是None。svg