• 微信小程序云端函数class的方法需注意形式


    我随便写了下面的类

    class MyDate{
      constructor(dateStr) {
        var arr = dateStr.split(' ');
        var dateArr = arr[0].split('-');
        this.year = parseInt(dateArr[0]);
        this.month = parseInt(dateArr[1]); 
        this.day = parseInt(dateArr[2]);
        if(arr.length>1){
          var tarr = arr[1].split(':');
          this.hour = parseInt(tarr[0]);
          this.minute = parseInt(tarr[1]);
          this.sec = 0;
          if(tarr.length>2){
            this.sec = parseInt(tarr[2]);
          }    
        }
      }
      getDateTime=function() {
        return new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.sec);
      }
      getDate=function() {
        return new Date(this.year,this.month-1,this.day);
      }
      getDateNumber=function() {
        return Date.parse(this.getDate());
      }  
    }

    本地调试的时候没有问题,但放在正式环境就报错:

    调用失败 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID

    云端测试报:{"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"Unexpected token ="}

    其实就是没有发布好,node的v.8.9估计是认为上面的js语法里有错误。而我本地的node是10.15版。解决也很简单,方法的定义改为以下的样子就好了:

    //....
      getDateTime() {
        return new Date(this.year,this.month-1,this.day,this.hour,this.minute,this.sec);
      }
      getDate() {
        return new Date(this.year,this.month-1,this.day);
      }
      getDateNumber() {
        return Date.parse(this.getDate());
      }  
    //....

    看来还是自己多此一举呀,浪费了一个晚上的时间。

  • 相关阅读:
    (II)第一节:IOC 和 DI
    (I)第二节:开发环境
    (I)第一节:Spring 框架
    Spring【目录】
    MyBatisPlus 之 Oracle 数据库主键
    MyBatisPlus 之 公共字段自动填充
    MyBatisPlus 之 全局SQL注入器应用
    MyBatisPlus 之 自定义全局操作
    MyBatisPlus 之 代码生成器
    彻底理解Netty
  • 原文地址:https://www.cnblogs.com/kevin-Y/p/12608714.html
Copyright © 2020-2023  润新知