Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript value.getTime不是函数GraphQL自定义标量日期_Javascript_Node.js_Graphql_Graphql Js - Fatal编程技术网

Javascript value.getTime不是函数GraphQL自定义标量日期

Javascript value.getTime不是函数GraphQL自定义标量日期,javascript,node.js,graphql,graphql-js,Javascript,Node.js,Graphql,Graphql Js,我收到来自外部API的最新更新:1579452599响应 我想用以下格式解析值:Mon Jan 19 2020 13:44:04,我尝试使用custom scallar,但出现以下错误: value.getTime不是函数 我做错了什么 这是我的密码 resolvers.js import fetch from 'node-fetch'; import { GraphQLScalarType } from 'graphql'; import { Kind } from 'graphql/lan

我收到来自外部API的最新更新:1579452599响应

我想用以下格式解析值:Mon Jan 19 2020 13:44:04,我尝试使用custom scallar,但出现以下错误:

value.getTime不是函数

我做错了什么

这是我的密码

resolvers.js

import fetch from 'node-fetch';
import { GraphQLScalarType } from 'graphql';
import { Kind } from 'graphql/language';

export const resolvers = {
  Query: {
    getCrypto: async() => {
      const response = await fetch('https://min-api.cryptocompare.com/data/top/totalvolfull?limit=10&tsym=USD&api_key=260d15e639be7b967c2b0e4f9f3b6d656897ccbdfe772b1d24818d9f96d3a6ed')

      let data = await response.json()
      return data.Data[0].RAW.USD;

    }
  },
  Date: new GraphQLScalarType({
    name: 'Date',
    description: 'Date custom scalar type',
    parseValue(value) {
      return new Date(value); // value from the client
    },
    serialize(value) {
      console.log(value)
      return value.getTime(); // value sent to the client
    },
    parseLiteral(ast) {
      if (ast.kind === Kind.INT) {
        return parseInt(ast.value, 10); // ast value is always in string format
      }
      return null;
    },
  })
};

schema.graphql

type CryptoCurrency {
  FROMSYMBOL: String
  PRICE: Float
  TOSYMBOL: String  
  LASTUPDATE: Date
}

type Query {
  getCrypto: CryptoCurrency
}

scalar Date
type MyType {
   created: Date
}


在控制台中,我看到了值

以防其他人从谷歌搜索到类似的问题
您应该将
LASTUPDATE
从时间戳转换为实际日期,并且必须乘以1000,因为Javascript使用毫秒

   serialize(value) {
                console.log( new Date(value).toISOString())
                return new Date(value * 1000).toISOString(); // value sent to the client
            }

你发现问题了吗?我安装了这个库graphql iso date,它成功了,@Alex你能帮我一下吗?