gpt4 book ai didi

javascript - ES6 类中的 Promises

转载 作者:数据小太阳 更新时间:2023-10-29 05:46:25 24 4
gpt4 key购买 nike

<分区>

我正在尝试编写一个具有返回 promise 和 promise 链的方法的类。此尝试从 do_that() 返回错误

我理解使用“this”的问题,这就是为什么我使用 self=this kludge,但我仍然遇到错误。

TypeError: Cannot read property 'name' of undefined.

除了这个问题,我该如何解决这个问题,有没有更简洁的方法来做到这一点?

var Promise = require('bluebird');

class myClass {

constructor(name, pipeline) {
this.name = name;
}

do_this() {
var self = this; // <-- yuck. Do I need this?
return new Promise(function(resolve, reject) {
setTimeout(function () { console.log("did this " + self.name); resolve(self); }, 1000);
})
}

do_that() {
var self = this; // <-- yuck
return new Promise(function(resolve, reject) {
setTimeout(function () { console.log("did that " + self.name); resolve(self); }, 1000);
})
}

do_both() {
return this.do_this().then(this.do_that);
}

}

new myClass("myobj").do_both(); // <-- TypeError: Cannot read property 'name' of undefined.

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