V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  llej  ›  全部回复第 1 页 / 共 2 页
回复总数  38
1  2  
4 小时 0 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@galenjiang 是的,你描述的比我清晰多了,所以这样最后还是绕回了显式传递参数
4 小时 31 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@galenjiang 你说的这个异步解决办法是有效的,但这就导致了你的 useConfig 无法被随意组合了,因为组合后又需要像这样包裹一层来调用,等于有了某种传染性
4 小时 33 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@galenjiang 不是说 useConfig 很难,而是说这样组合起来到处随便用很难,他只能在组件创建的时候用。

setTimeou 以及请求等异步调用的回掉中是不能使用 inject 的,因为异步执行的时候他没法判断是在那个组件的调用栈中,进而无法找到对应组件树提供的值
5 小时 7 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@galenjiang 另外 metadata 还有装饰器这些东西我总感觉有点画蛇添足
5 小时 20 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@galenjiang 你可以看下我 4 楼和八楼的回复,另外你的说法我是认可的
5 小时 46 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@nomagick 一边玩去吧,你的理解没错,我只是在讨论一些稍有不同的情况
5 小时 50 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@netabare 嗯,依赖注入其实不是问题,但是想要组合式的使用依赖注入(例如 vue 中定义一个 cont use
Config=()=>inject("config
") 然后随意的在任意地方使用这个 useConfig 都能正确的注入值是很难的,需要 cls 或者代数效应这样的方案
5 小时 55 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@subframe75361 异步调用这块我之前我忘记写了,正是因为异步这个问题的存在才导致只能使用妥协的办法:传递上下文变量
5 小时 56 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@subframe75361 没仔细了解过他的实现,猜测应该和 vue 差不多吧,就是在即将执行组件初始化函数之前将上下文设置为一个全局变量,于是组件函数执行的时候就可以获取到那个上下文,问题就是组件函数内异步调用是不行的,例如 vue 组件 setup 模式 中使用 settimeout 延迟过一会再使用 inject() 就会失败,但如果浏览器也支持 cls 的话,就可以实现异步调用也能获取正确的值
7 小时 19 分钟前
回复了 llej 创建的主题 程序员 对于依赖注入的思考-二
@kk2syc 具体是指什么,react 和 vue 他们的 hook ?
这样是没法解决异步函数调用的问题的
13 天前
回复了 llej 创建的主题 程序员 对于依赖注入的思考
@importmeta 但这些都是基于类的,我最想要的是基于函数调用的。
13 天前
回复了 llej 创建的主题 程序员 对于依赖注入的思考
@icode1688 但这些都是基于类的,我最想要的是基于函数调用的。
155 天前
回复了 llej 创建的主题 JavaScript 如何实现一个小体积的 js docker 镜像
@povsister node 启动所占用的内存是不会随着分层减少的
155 天前
回复了 llej 创建的主题 JavaScript 如何实现一个小体积的 js docker 镜像
@rocmax 这个的优势在于微小程序,能用 node 最好
214 天前
回复了 xpa 创建的主题 程序员 阿里的 OSS 文档好乱
使用它的新版 api 控制台可以自动生成对应代码,还行
思源笔记+1 ,完美符合
247 天前
回复了 wh469012917 创建的主题 云计算 阿里云的技术售后,真的是一言难尽
阿里云的文档烂是出了名的,不过他们最近搞得那个 api 代码自动生成还能用
1panel 面板支持
热更新
302 天前
回复了 sudoy 创建的主题 Node.js nodejs 用户为什么这么爱变来变去呢?
虽然楼主可能是虚空打靶,但我认为 js 的兼容性已经强到不可思议了,所以 js 用户更加的肆无忌惮。
总结:利好 ts
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1085 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 17:12 · PVG 01:12 · LAX 09:12 · JFK 12:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.