有没有办法为 JSON.parse reviver 提供上下文?
Is there a way to give context to a JSON.parse reviver?
所以我正在 JSON 字符串中格式化数据,我需要在 reviver 中使用我的应用程序上下文(如 this.name 等)。
reviver代码示例:
formatReviver = function (key, value) {
if(context.name === value)
//do stuff
}
但显然这在 Reviver 中不起作用。
我的一个想法是在参数中使用默认值:
formatReviver = function (key, value, context = window) {
if(context.name === value)
//do stuff
}
还有其他想法吗?
您可以将 reviver 绑定到当前上下文。
formatReviver = (function (key, value) {
if(this.name === value)
//do stuff
}).bind(this)
或者使用箭头函数,自动绑定this
.
formatReviver = (key, value) => {
if(this.name === value)
//do stuff
}
所以我正在 JSON 字符串中格式化数据,我需要在 reviver 中使用我的应用程序上下文(如 this.name 等)。
reviver代码示例:
formatReviver = function (key, value) {
if(context.name === value)
//do stuff
}
但显然这在 Reviver 中不起作用。
我的一个想法是在参数中使用默认值:
formatReviver = function (key, value, context = window) {
if(context.name === value)
//do stuff
}
还有其他想法吗?
您可以将 reviver 绑定到当前上下文。
formatReviver = (function (key, value) {
if(this.name === value)
//do stuff
}).bind(this)
或者使用箭头函数,自动绑定this
.
formatReviver = (key, value) => {
if(this.name === value)
//do stuff
}