【发布时间】:2021-03-07 03:30:47
【问题描述】:
我正在尝试将会话存储在磁盘上以进行本地开发,但我遇到了应用程序希望我返回会话实例而不是对象的问题
function storeCallback(session) {
console.log("storeCallback ", session);
fs.writeFileSync("./session.json", JSON.stringify(session));
return true;
}
function loadCallback(id) {
console.log("loadCallback ", id);
const session = fs.readFileSync("./session.json", "utf8");
return JSON.parse(session);
}
会话如下所示:
Session {
id: '0984e7db-ad80-4276-966d-9db54fac11c2',
shop: 'swiftnextstep.myshopify.com',
state: '113617456401679',
isOnline: true
}
保存并回读后,它看起来像这样
{
id: '0984e7db-ad80-4276-966d-9db54fac11c2',
shop: 'swiftnextstep.myshopify.com',
state: '113617456401679',
isOnline: true
}
我收到一个错误InternalServerError: Expected return to be instance of Session, but received instance of Object.
如何将我正在解析的对象从存储转换/转换为预期的 Session 类型?
【问题讨论】:
-
session到底是什么?你能显示传递给storeCallback的对象是在哪里创建的吗? -
你试过了吗....
(storage as any) as Session? -
@Sciffany 这不是 TypeScript
-
你是对的,@CertainPerformance
-
@CertainPerformance,我无权访问调用 storeCallback 的代码,我只是从包中覆盖回调函数,Session 是 loadCallback 对其断言的实例类型
标签: javascript node.js shopify javascript-objects