javascript - 为什么标量日期 GraphQL 不起作用

标签 javascript facebook-graph-api

我有一个项目,我使用 graphql 并且需要提供日期思想 graphql,当我使用 String 时,类型日期在解析器中正确显示,但是当我在解析器中使用 scalar Date 时,我得到了 false intead date。在文档中找不到任何东西。提供的日期为 2018 年 1 月 11 日星期三 21:30:00。我应该安装 moment 因为我收到警告 eprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment 构造回退到 js Date() 并且我不在我的项目中使用 moment

/*---- doesn't work ----*/
scalar Date
type Event {
  id: ID!
  title: String!
  dateStart: Date!
  dateEnd: Date!
  users: [User]
  room: Room
}
input EventInput {
  title: String!
  dateStart: Date!
  dateEnd: Date!
}

/*---- works ----*/
type Event {
  id: ID!
  title: String!
  dateStart: String!
  dateEnd: String!
  users: [User]
  room: Room
}
input EventInput {
  title: String!
  dateStart: String!
  dateEnd: String!
}

最佳答案

您必须在解析器中解析自定义标量日期

Date: {
  __serialize(value) {

    return value; // value sent to the client
  },

  __parseValue(value) {

    return value;
  },
  __parseLiteral(ast) {
    return JSON.parse(JSON.stringify(ast)).value;
  }
}

将此添加到您的解析器中。这可能会解决您的问题

关于javascript - 为什么标量日期 GraphQL 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48199003/

相关文章:

ios - 我在哪里可以找到 "documentary evidence"以获得 App Store Approval 以下载 PUBLIC Facebook 视频?

facebook-graph-api - 无法在 Facebook iOS SDK 3.0 中重现教程示例 "Scrumptious "

android - 创建 Open Graph 故事时出现问题 : "unable to generate story" and "failed to generate preview"

javascript - jQuery.when 接受原生 Promise 对象吗?

javascript - 如何使用 JavaScript 访问智能手机的 GPS 服务启用或禁用?

javascript - 在第三方浏览器js中使用 'require'

Facebook JavaScript SDK FB.Canvas.setSize 和 setAutoGrow 在 IE7/8 中不起作用

iphone - facebook登录后UILabel变为null(UILabel不更新)

javascript - 在 react 中使用 setState 将预定义对象插入数组

javascript - 从附加脚本标记中检测 404 错误