uni-app encapsula algunas API con promesas: el primer parámetro de los datos devueltos es el objeto de error y el segundo parámetro son los datos devueltos.
La estrategia detallada es la siguiente:
- Para los métodos asincrónicos, si no pasa parámetros de devolución de llamada como éxito, falla y finalización, los datos se devolverán como Promesa. Por ejemplo: uni.getImageInfo ()
- Método asincrónico y objeto de retorno: si desea obtener el objeto de retorno, debe pasar al menos un parámetro de devolución de llamada, como éxito, error y finalización. Por ejemplo: uni.connectSocket ()
- El método de sincronización (es decir, terminar con sincronización) no encapsula la promesa. Por ejemplo: uni.getSystemInfoSync ()
- Los métodos que comienzan con create no encapsulan las promesas. Por ejemplo: uni.createMapContext ()
- El método que termina con el administrador no encapsula la promesa. Por ejemplo: uni.getBackgroundAudioManager ()
Ejemplos de uso:
// 默认方式
uni.request({ url: 'https://www.example.com/request', success: (res) => { console.log(res.data); } }); // Promise uni.request({ url: 'https://www.example.com/request' }) .then(data => {//data为一个数组,数组第一项为错误信息,第二项为返回数据 var [error, res] = data; console.log(res.data); }) // Await function async request () { var [error, res] = await uni.request({ url: 'https://www.example.com/request' }); console.log(res.data); }
Información relacionada: