旺仔牛奶
旺仔牛奶
  • 发布:2020-08-13 10:35
  • 更新:2020-08-29 18:01
  • 阅读:1132

【报Bug】plus.io 操作文件后调用扫一扫或者进入包含video的.nvue 报错 [JS Framework] Failed to find taskCenter (xx)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 2.8.5

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 荣耀8x 荣耀8

页面类型: vue

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

进入home页 进入扫一扫 在回退到index 再次执行上述步骤进入home 代码日志就会提示[JS Framework] Failed to find taskCenter (xx).

预期结果:

进入home页 进入扫一扫 在回退到index 再次执行上述步骤进入home 代码日志就会提示[JS Framework] Failed to find taskCenter (xx).

实际结果:

进入home页 进入扫一扫 在回退到index 再次执行上述步骤进入home 代码日志就会提示[JS Framework] Failed to find taskCenter (xx).

bug描述:

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

<script>  
    // #ifdef APP-PLUS  
    import handleCache from "@/common/cache.js"  
    import permision from '@/common/permission.js';  
    //#endif  
    export default {  
        data() {  
            return {  
                title: 'Hello',  
                list: [1, 2, 3, 4, 5, 6]  
            }  
        },  
        onLoad() {  
            this.pageInit()  
        },  
        methods: {  
            goHome() {  
                console.log("home");  
                uni.navigateTo({  
                    url: '/pages/home/home'  
                })  
            },  
            async pageInit() {  
                let cacheData = await handleCache.getCache("cache_test", "test", this.list);  
                if (!cacheData) {  
                    setTimeout(() => {  
                        handleCache.saveCache("cache_test", "test", this.list);  
                    }, 2000)  
                }  
                console.log(cacheData);  
            },  
            async scan() {  
                // #ifdef APP-PLUS  
                let status = await this.checkPermission();  
                if (status !== 1) {  
                    return;  
                }  
                // #endif  
                // #ifndef H5  
                uni.scanCode({  
                    success: res => {  
                        console.log(res);  
                    },  
                    fail: err => {  
                        // #ifdef MP  
                        uni.getSetting({  
                            success: res => {  
                                let authStatus = res.authSetting['scope.camera'];  
                                if (!authStatus) {  
                                    uni.showModal({  
                                        title: '授权失败',  
                                        content: '微微需要使用您的相机,请在设置界面打开相关权限',  
                                        success: res => {  
                                            if (res.confirm) {  
                                                uni.openSetting();  
                                            }  
                                        }  
                                    });  
                                }  
                            }  
                        });  
                        // #endif  
                    }  
                });  
                // #endif  
            },  
            // #ifdef APP-PLUS  
            async checkPermission(code) {  
                let status = permision.isIOS ? await permision.requestIOS('camera') : await permision.requestAndroid(  
                    'android.permission.CAMERA');  

                if (status === null || status === 1) {  
                    status = 1;  
                } else {  
                    uni.showModal({  
                        content: '需要相机权限',  
                        confirmText: '设置',  
                        success: function(res) {  
                            if (res.confirm) {  
                                permision.gotoAppSetting();  
                            }  
                        }  
                    });  
                }  
                return status;  
            },  
            // #endif  
        }  
    }  
</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;  
    }  
</style>  

_分割线_________________________________________________________  
详细代码在压缩包中 可以去调试下  如有代码问题请告知  
2020-08-13 10:35 负责人:DCloud_UNI_HDX 分享
已邀请:
旺仔牛奶

旺仔牛奶 (作者) - 一定要开心呀~

uniapp 有调用plus.io读取文件 唤起原生的API功能之后 再次去读取就会报错[JS Framework] Failed to find taskCenter (xx) 请确认下是否有这个问题 官方有人回下吗?

旺仔牛奶

旺仔牛奶 (作者) - 一定要开心呀~

有官方人员看到吗,帮忙确认下这个问题是如何导致的呗

人人畅享

人人畅享

我用加速度计 遇到同样问题

  • 旺仔牛奶 (作者)

    等官方大佬们,校验下问题出在哪里

    2020-08-13 16:18

人人畅享

人人畅享

uni.onAccelerometerChange 调用时
09:03:27.424 [JS Framework] Failed to find taskCenter (2).
09:03:27.444 [Vue warn]: Error in onShow hook: "TypeError: o.setInterval is not a function"

旺仔牛奶

旺仔牛奶 (作者) - 一定要开心呀~

自顶,官方大佬们都忙,为了引起注意,只有自己顶一顶了。。。

DCloud_Android_ST

DCloud_Android_ST

问题已确认 预计下版修复

  • 旺仔牛奶 (作者)

    能问下这种报错我可以使用try catch 跳过吗?

    2020-08-18 20:26

  • DCloud_Android_ST

    try catch没用 除非不使用settimeout

    2020-08-19 13:56

  • 旺仔牛奶 (作者)

    回复 DCloud_Android_ST: 好吧

    2020-08-19 14:10

  • 人人畅享

    今早升级完问题还存在

    2020-08-21 08:39

  • 人人畅享

    [JS Framework] Failed to find taskCenter (xx) 这个异常已经没了


    [Vue warn]: Error in onShow hook: "TypeError: e.setInterval is not a function"

    TypeError: e.setInterval is not a function


    还存在

    2020-08-21 09:04

旺仔牛奶

旺仔牛奶 (作者) - 一定要开心呀~

好像导致这个问题出现的地方还挺多的哦 我调取查询手机通讯录 权限 去获取手机通讯录 之后 返回 同样会有这个问题

人人畅享

人人畅享

今早升级HBuilder至2.8.2.20200820,问题还是存在

[Vue warn]: Error in onShow hook: "TypeError: e.setInterval is not a function"
TypeError: e.setInterval is not a function

DCloud_Android_ST

DCloud_Android_ST

HX2.8.7+已修复楼主报错问题

  • 旺仔牛奶 (作者)

    OK

    2020-08-21 14:16

  • swx

    问题依旧在,settimeout里播音乐,出来一大堆[JS Framework] Failed to find taskCenter (29)


    1 秒前

    2020-10-03 09:59

  • DCloud_Android_ST

    回复 swx: HX什么版本

    2020-10-09 18:18

  • 1517332242@qq.com

    回复 DCloud_Android_ST: 首次进入应用nvue里面倒计时执行方法正常 然后点击退出当前用户uni.clearStorage清空缓存 在登陆进入应用 进入nvue页面倒计时错误代码[JS Framework] Failed to find taskCenter (5).

    2020-10-23 11:23

  • DCloud_Android_ST

    回复 1517332242@qq.com: 你可以重新新建一个ask 然后将示例项目发出来我们定位一下 会尽快修复

    2020-10-23 11:59

  • 1517332242@qq.com

    回复 DCloud_Android_ST: https://ask.dcloud.net.cn/question/109505 这是我发的帮忙看下 里面有rar文件

    2020-10-23 14:36

  • 盖世英雄

    理论上是代码的问题。nvue页面销毁的时候,当前nvue页面还有线程排队就会报错。用onBackPress清理一遍就不会报。(但不能用onUnload)

    2020-11-28 20:26

123456789010@163.com

要回复问题请先登录注册