// 如定义一个变量直接a(),然后赋值给 b
let b = this.a()
console.log(b)  //这里就会返回 Promise {<pending>}

接收方式主要有如下两种

第一种:then 接收

let b = this.a()
.then(res =>{
	//.then是接收正确返回的信息
	console.log(res) // {...}
.catch(err =>{
	// .catch 返回报错信息
	console.log(err)

第一种:async和await接收(async 和 await 必须是一起的

async c(){
	let b = await this.a()
	console.log(b)  // 现在就是正确返回了 {...}
                    Uniapp报Promise { pending }是什么?此提示主要告诉我们的是我们接收的方式有问题可知: promise 要用then接收或者async await// 如定义一个变量直接a(),然后赋值给 blet b = this.a()console.log(b)  //这里就会返回 Promise {&lt;pending&gt;}接收方式主要有如下两种第一种:then 接收let b = this.a().then(res =&gt;{	//.then是接收正确返回的
在使用 uni-app 开发前端的过程中,uni-app 官方已为我们提供了非常丰富的组件和 API,比如 uni.request 网络请求,如果我们直接在代码中使用会造成较多的冗余,因此一般都会进行封装。之前有介绍过 uni.request 的基础封装,今天介绍另一种封装方式:基于 promise 的封装方式。
二、创建http.js
在项目根路径下新建 commons 文件夹,并创建一个 http.js,内容如下.
let lyric = getLyric(this.$store.state.songId);
let a = lyric.then((res)=>{
    console.log(res.data)
问题描述:
当使用uniapp开发微信小程序时,对接口请求进行 promise 加 async/await 封装时 接口请求可以发送,在network中也可以看到接口请求但是就是拿不到  wx.request 或 uni.request 的 success fail complete 三个参数
 大概表现为:
 index.vue里面用async/await
import { post } from '@/api/http';
async g
				
之前貌似很少写过promise, async, await相关的内容。我大概知道await使用的时候,函数必须外边有async. 我今天写函数的时候,写了一个函数,然后调用的时候,发现返回的是promise<pending>的状态。但是我在调用的函数里面打log, 是能打出来结果的,搜了很长时间才找到答案。最后也解决了。这里记录一下: var rs={score:0}; var g...
如果是用HBuilderX创建的uni-app项目,可继续往下看 在使用uni-app的API之uni.request进行数据请求时,微信开发者工具正常请求回来数据,但是H5端却产生跨域错: 使用方式如下: getList() { uni.request({ url: 'http://157.122.54.189:9088/image/v3/homepage/vertical', data: this.params }).then(res => { console.log('res
pending: 等待状态,比如正在进行网络请求,或者定时器没有到时间。 fulfill:满足状态,当我们主动回调了resolve时,就处于该状态,并且会回调.then()。 reject:拒绝状态,当我们主动回调了reject时,就处于该状态,并且会回调.catch()。 因此就存在我们需要等几个异步请求都完成后再进行操作的情况。此时怎么做呢?设置定时?很显然无法保证。在次我们就可以使用Promise.all()