uniapp将异步api变成同步

发布时间:2023年12月28日

<template>
?? ?<view class="content">
?? ??? ?<image class="logo" src="/static/logo.png"></image>
?? ??? ?<view class="text-area">
?? ??? ??? ?<text class="title">{{title}}</text>
?? ??? ?</view>
?? ?</view>
</template>

<script>
?? ?import {
?? ??? ?request
?? ?} from '@/tools/request/index.js'
?? ?export default {
?? ??? ?data() {
?? ??? ??? ?return {
?? ??? ??? ??? ?title: 'Hello',
?? ??? ??? ?}
?? ??? ?},
?? ??? ?onShow() {
?? ??? ??? ?this.fun1()
?? ??? ?},
?? ??? ?methods: {
?? ??? ??? ?async fun1() {
?? ??? ??? ??? ?//等待执行
?? ??? ??? ??? ?const rs = await this.fun2()
?? ??? ??? ??? ?console.log(rs);
?? ??? ??? ??? ?console.log('执行完成')
?? ??? ??? ?},
?? ??? ??? ?//耗时操作
?? ??? ??? ?fun2() {
?? ??? ??? ??? ?return new Promise((resolve,reject) => {
?? ??? ??? ??? ??? ?uni.request({
?? ??? ??? ??? ??? ??? ?url:'http://www.baidu.com',
?? ??? ??? ??? ??? ??? ?success: (res) => {
?? ??? ??? ??? ??? ??? ??? ?resolve('ok')
?? ??? ??? ??? ??? ??? ?},
?? ??? ??? ??? ??? ??? ?fail: (err) => {
?? ??? ??? ??? ??? ??? ??? ?reject('err')
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?})
?? ??? ??? ??? ?})
?? ??? ??? ?}
?? ??? ?}
?? ?}
</script>

<style>
?? ?.content {
?? ??? ?display: flex;
?? ??? ?flex-direction: column;
?? ??? ?align-items: center;
?? ??? ?justify-content: center;
?? ?}

?? ?.logo {
?? ??? ?height: 200rpx;
?? ??? ?width: 200rpx;
?? ??? ?margin-top: 200rpx;
?? ??? ?margin-left: auto;
?? ??? ?margin-right: auto;
?? ??? ?margin-bottom: 50rpx;
?? ?}

?? ?.text-area {
?? ??? ?display: flex;
?? ??? ?justify-content: center;
?? ?}

?? ?.title {
?? ??? ?font-size: 36rpx;
?? ??? ?color: #8f8f94;
?? ?}

?? ?.red {
?? ??? ?color: red;
?? ?}

?? ?.blue {
?? ??? ?color: blue;
?? ?}
</style>
?

如果是showModal

示例?

return new Promise( async resolve=> {
? ? ? ? uni.showModal({
? ? ? ? ? ? ? ? ?title:'title',
? ? ? ? ? ? ? ? ?content:'content',
? ? ? ? ? ? ? ? ?success: (res) => {
? ? ? ? ? ? ? ? ? ? ? resolve(res)
? ? ? ? ? ? ? ? ?}
? ? ? ? ? })
?})
?

文章来源:https://blog.csdn.net/gysea123321/article/details/135266737
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。