Promise有个缺点,一旦创建便会立刻执行。所以一般会用一个函数进行包装。
常用方法
最常用的方法为 then() 和 catch() 这两个方法,通过 then() 的传递效用就可以解决回调地狱的问题。
其中then()可接收两个参数,都是回调函数,第一个回调函数用来处理resolved状态,参数为Promise实例调用resolve传递的成功对象。第二回调函数用来处理rejected状态,参数为调用Promise实例调用reject传递的错误对象。
实际中then()我们一般只用来处理resolved的情况,即只传递第一个回调函数。对于rejected情况更多是采用catch()统一处理。
封装promise请求
封装api接口
使用
1、使用async/await,async/await是ES7中新增的异步编程语法,可以让异步代码看起来像同步代码,可以在需要强制同步的地方使用async/await来实现。2、使用Promise,Promise可以用来管理异步 *** 作的状态,可以通过Promise的then方法来强制同步执行代码。
3、使用Generator,Generator是ES6中引入的生成器函数,可以实现暂停和恢复执行的功能,可以在需要强制同步的地方使用Generator来实现。
可以判断蓝牙是否可用、是否已打开、是否正在搜索设备等信息。该方法返回一个Promise对象,可以使用then()方法获取状态信息。</p><p>示例代码:</p>
<pre><code>wx.getBluetoothAdapterState({
success: function(res) {
console.log('蓝牙适配器状态:', res)
}
})</code></pre>
<ol start="2">
<li>监听蓝牙连接状态变化</li>
</ol>
<p>使用wx.onBLEConnectionStateChange()方法可以监听蓝牙连接状态变化事件,当蓝牙连接状态发生变化时,会触发该事件。在事件回调函数中可以获取当前蓝牙连接状态。</p>
<p>示例代码:</p>
<pre><code>wx.onBLEConnectionStateChange(function(res) {
console.log('蓝牙连接状态变化:', res)
})</code></pre>
<p>通过以上两个方法,可以实现在微信小程序中显示蓝牙连接状态。</p>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)