怎么把一个返回类型为Promise<arr[]>函数的返回值传递给外部的一个arr[]类型的局部变量-鸿蒙开发者社区-51CTO.COM

怎么把一个返回类型为Promise<arr[]>函数的返回值传递给外部的一个arr[]类型的局部变量

如题,我用网上的办法写如下代码,initialize是一个返回值为Promise的函数

let arr:Array<myclass>=await initialize();

我现在想在外部的一个struct内,接收到该函数的返回值,并且加在组件中。但是编译报错unexpected token.A constructor,method,accessor,or property was expected.


DevEco Studio
函数
2024-05-31 13:34:24
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Sidneyen

方案一:在外部的struct内,写个函数以 aysnc开头,去调用let arr:Array<myclass>=await initialize();

class
 myclass {
}

@Entry
@Component
struct test {
  @State arr:         Array
<myclass> = []

  async getInf() {
            let
 arr:         Array
<myclass> = await initialize();
            this
.arr = arr
  }

  build() {
    Column() {
      Button('测试').onClick(() => {
                this
.getInf()
      })
    }
  }
}
复制

方案二:在返回类型为Promise<arr[]>函数所在的文件内,使用emitter发送信息。

分享
微博
QQ
微信
回复
2024-05-31 19:48:25
相关问题
怎么判断一个类型是stirng
697浏览 • 1回复 待解决
如何定义一个未知类型对象
729浏览 • 2回复 待解决
HarmonyOS 如何返回一个颜色?
190浏览 • 1回复 待解决
怎么返回到上一个ets 文件?
67浏览 • 1回复 待解决
HarmonyOS定义一个map临时变量
465浏览 • 1回复 待解决
是否能定义一个返回组件?
163浏览 • 1回复 待解决
判断一个参数是不是Resource类型
347浏览 • 1回复 待解决