js异步解决方法

在浏览器端,耗时很长的操做都应该异步执行,避免浏览器失去响应,最好的例子就是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

相关文章
相关标签/搜索