gpt4 book ai didi

apollo - 包 apollo-link-http 中的 new HttpLink 和 createHttpLink 之间的差异

转载 作者:行者123 更新时间:2023-12-04 04:32:01 26 4
gpt4 key购买 nike

在教程中

https://www.howtographql.com/vue-apollo/1-getting-started/



有赠送 new HttpLink语法,但在官方文档中

https://www.apollographql.com/docs/link/links/http/



功能 createHttpLink被申请;被应用。

这两个来源都没有描述这些方法之间的差异。

最佳答案

两者没有本质区别。

如果你看 apollo-link-http包源here ,可以看到导出的createHttpLink方法返回 ApolloLink 的新实例使用您传递给 createHttpLink 的选项初始化的类(第 62-194 行)。

在同一个文件的末尾,您可以看到该包还导出了 HttpLink类,它扩展了 ApolloLink类(第 256-261 行):

export class HttpLink extends ApolloLink {
public requester: RequestHandler;
constructor(opts?: HttpLink.Options) {
super(createHttpLink(opts).request);
}
}

从上面的代码中可以看出,当您通过创建 HttpLink 的新实例来创建 apollo http 链接时类,您传递给构造函数的选项在内部传递给 createHttpLink , 返回 ApolloLink 的实例如上所述,以及该实例的 RequestHandler传递给(即复制)到新的 HttpLink实例的父级,也是 ApolloLink 的一个实例(请参阅第 96-124 行 here 以查看 ApolloLink 自己的构造函数)。

请注意 apollo-link-http包裹自己的 docs不是 new HttpLink语法,所以我会坚持 createHttpLink future 兼容性的语法。

关于apollo - 包 apollo-link-http 中的 new HttpLink 和 createHttpLink 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56663103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com