图片如下:
我想将请求到的数据给return出去,也就是url,但是uni.request
中执行的操作变为第三步去了,在第二步中return出去的还为空,麻烦解决一下,谢谢!!
我想将请求到的数据给return出去,也就是url,但是uni.request
中执行的操作变为第三步去了,在第二步中return出去的还为空,麻烦解决一下,谢谢!!
JS 异步变同步 可使用ES7 新语法async和await 语法(博文参考:ES7前端异步玩法:async/await理解)。具体实现 一楼的已经给出来答案;不过需要特别强调一下:非特殊业务需求,网络请求不要使用同步,使用同步会卡线程,可能会出现页面操作卡顿,事件无响应等问题
async function hosListTop () {
const newUrl = await uni.request({url: 'xxxxxx'})
console.log('newUrl', newUrl)
}
可以使用我写的一个插件,通用sdk:uni方法支持async/await
把uni方法包装为一个Promise
,然后使用async/await
Promise
的介绍:https://developer.mozilla.org...
async/await
的介绍:https://developer.mozilla.org...
异步请求是无法变成同步的,你直接return uni.request() 出现就行了。return 会返回一个Promise 对象,可以通过.then 或者 .catch 进行接收结果使用
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决