gpt4 book ai didi

javascript - 为什么这种解构不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:35 25 4
gpt4 key购买 nike

我正在创建一个像这样的可观察对象:

return new Observable(sub => {
const {next, complete, error} = sub;

this.AuthHttp.get(`http://192.168.1.100:3000/api/users/${id}`)
.subscribe(res => {
let user = res.json();
next(user);
complete();
}, e => {
error(e.json());
});
})

然而,当预期调用 next() 时,我的前端没有发生任何事情。如果我对代码稍作改动,改为调用 sub.next(),一切都会按预期进行。这表明底层代码没有缺陷,就像我引用 next 的方式一样。

我之前已经看到这种形式的解构与 Observer 类一起使用(在在线示例中),那么我在这里做错了什么?

最佳答案

因为 nexterrorcomplete 方法是对象方法,必须在对象实例上调用 .

当您使用解构来获取函数并稍后调用这些函数时,调用是没有上下文的。

你不能做你尝试过的事情,同样的原因是这行不通:

const { toString } = new Date();
console.log(toString());

有关详细信息,请参阅 this issue .

关于javascript - 为什么这种解构不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51035891/

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