Angular JS:Android Studio控制台中显示意外的令牌错误,但在浏览器中工作正常

我是蝙蝠侠

我在cordova android项目中遇到一个奇怪的问题(angularjs + ionic),当我在android studio中运行项目时,我的js文件会收到此错误。

 Uncaught SyntaxError: Unexpected token {, http://192.168.43.211:8100/templates/todo/js/controllers.js, Line: 184

但是当我在谷歌浏览器中运行相同的文件时,我将得到结果,并且不会显示任何错误

这是错误消息的代码块

$scope.todos = $scope.todos.map(({text, status,note,create_date,to_do_id}) => {
             var ch;
             if(status=='1') ch=true; else ch=false;
             console.log(ch);
                return {
                  text,
                  flag:ch,
                  note:note,
                  to_do_id:to_do_id,
                  create_date:create_date,
                  status:status
                  };
              });

当我隐藏以上代码块时,android studio控制台中未显示任何错误,但我需要以上代码块才能完成功能。

问题是什么

PJDev

主要解决方案

您确定您的移动浏览器支持JS箭头表达式吗?它们是在ECMAScript 6中引入的,因此某些浏览器可能仍然不支持它们。尝试将箭头表达式更改为匿名函数:

$scope.todos = $scope.todos.map(function(record) {
    var ch;
    if (record.status == '1') ch = true; else ch = false;
    console.log(ch);
    return {
        text: record.text,
        flag: ch,
        note: record.note,
        to_do_id: record.to_do_id,
        create_date: record.create_date,
        status: record.status
    };
});

替代解决方案

如果上面的代码仍然无法正常工作,则您始终可以创建自己的map函数:

function _arrayMap(array, callback) {
    var newArray = [];

    for(var i = 0; i < array.length; i++) {
        newArray.push(callback(array[i]));
    }

    return newArray;
}

并以类似方式使用它:

$scope.todos = _arrayMap($scope.todos, function(record) {
    var ch;
    if (record.status == '1') ch = true; else ch = false;
    console.log(ch);
    return {
        text: record.text,
        flag: ch,
        note: record.note,
        to_do_id: record.to_do_id,
        create_date: record.create_date,
        status: record.status
    };
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

图片加载并上传到Firebase Storage在android和firebase控制台中无法正常工作,显示“错误加载预览”

在浏览器JS控制台中包含脚本时如何覆盖内容安全策略?

javascript“ this”关键字在浏览器中可以正常工作,但在node.js中却不能正常工作

滑块在浏览器中显示为类似框,但在小提琴中运行正常(控制台中未显示错误)

Angular JS Android应用程序默认参数的意外令牌

Angular JS网站如何在Android中触发

防止在Angular Firebase中注销后在浏览器控制台中写入错误

在Android浏览器上显示控制台消息

控制台错误,但在浏览器中显示

路由在Angular JS中无法正常工作

Angular JS路由不起作用,并且控制台中没有错误

Android Studio 3.1.4显示意外错误

JavaScript body.style.background无法在script.js中使用线性渐变,但在控制台中可以正常工作

在angular 6中从浏览器控制台调用服务功能

如何解决Angular.js中“滑块的所有图像显示”问题,但在HTML滑块中正常工作

Angular 2路由解析器不起作用,浏览器空白并且控制台中没有错误

浏览器控制台[错误]:未捕获的语法错误:WebGL.js中的意外令牌“导出”

API数据显示在浏览器的控制台中,而不显示在网页上-Vue.js

在DIV中选择P会在浏览器控制台中产生错误,但在JsFiddle中可以正常工作。为什么?

Angular 10,浏览器控制台中的TypeError,但构建中没有错误

Angular Js意外令牌:

在angular js中更改浏览器的后退按钮的位置

Angular Factory返回null,但在控制台中显示结果

Angular JS ui路由器未显示模板(无js控制台错误)

如果HTML中包含JS函数,如何在浏览器控制台中使用所有JS函数?

Angular:ng-repeat无法正常工作,但对象仍在控制台中显示

日期不在 Typescript 中工作,但在浏览器控制台中工作

Android Studio 中的 FileNotFoundException,但在浏览器中工作正常

Array.prototype.flatMap() JS 在测试用例和 repl.it 片段中表现异常,但在浏览器控制台中没有