问题:华为鸿蒙HarmonyOS JS框架支持不支持Promise?
问题追加: 以下代码: export default { data: { title: "", arr: [ {content: 'afaf'}, {content: '2222'}, {content: '3333'}, ] }, async loadFile(){ console.log('开始计时') await this.sleep( 2000 ) console.log('计时结束1') this.arr.push({ content: '我是新加入的内容' }) console.log('计时结束2') }, sleep(time){ return new Promise( (res, rej ) => { console.log('promise运行') setTimeout( () => { console.log('settime开始') res() }, time) }) }, onInit() { this.title = this.$t('strings.world'); this.loadFile() } }
测试跑了一下异步代码,发现只能跑到setTimeout,无法运行完成。Promise的res()回调不成功。
回答: HarmonyOS JS是支持Promise的,通过测试提供的代码,是正常的,同时,新加的内容也push到数组里面去了。 建议如下: 1、点击菜单栏Build->clean Project,再重新编译。 2、检查一下是否其它地方导致该异常。 3、新建一个空项目,重新编译运行一下。 |