Javascript 如何使用承诺作为一种方法?
我有一个对象(myObject)。对于这个对象,我创建了一个方法(objectPromise),它返回一个承诺Javascript 如何使用承诺作为一种方法?,javascript,node.js,promise,es6-promise,Javascript,Node.js,Promise,Es6 Promise,我有一个对象(myObject)。对于这个对象,我创建了一个方法(objectPromise),它返回一个承诺 function myObject(){ this.number = 2; this.objectPromise = function(data) { return new Promise((resolve, reject) => { if (data == this.number) { reso
function myObject(){
this.number = 2;
this.objectPromise = function(data) {
return new Promise((resolve, reject) => {
if (data == this.number) {
resolve();
} else {
reject();
}
});
};
};
然后我有了这个代码1)
2)
我不明白为什么1)不调用我的承诺对于1),您使用这一行返回函数。然后(obj.objectPromise)
,而不是承诺本身,因此它实际上从未被调用
基于1)和2),如果myPromise1返回结果
,如果我正确理解了问题,我认为您正在寻找以下内容:
obj = new myObject();
myPromise1
.then((result) =>
obj.objectPromise(result)
.then((res) => {
console.log('objectPromise success code here')
})
.catch((err) => {
console.log('objectPromise fail code here')
}))
.catch((err) => {
console.log('myPromise1 fail code here')
});
这是相当不清楚的
objectPromise
是一个返回承诺的函数-这是您想要的吗?你想在这里实现什么?你是说然后(obj.objectPromise)
?不管怎样,你的代码到处都是。例如,this.data
不存在。另外,您没有将任何内容返回给另一个然后s。很抱歉,我弄错了,是的,它返回了一个承诺,但我不明白的是,objectPromise不是一个对象方法,我不必像2)那样编写代码,它是一个实例方法。@Li357我修复了这个.data和obj.objectPromise,对不起。你说它是实例方法是什么意思?.then(obj.objectPromise)
和.then(function(result){obj.objectPromise(result)})
obj = new myObject();
myPromise1
.then(function(result){
obj.objectPromise(result)
})
.then(function(result){
})
.catch(function(err){
});
obj = new myObject();
myPromise1
.then((result) =>
obj.objectPromise(result)
.then((res) => {
console.log('objectPromise success code here')
})
.catch((err) => {
console.log('objectPromise fail code here')
}))
.catch((err) => {
console.log('myPromise1 fail code here')
});