我有一个对象(myObject)。对于这个对象,我创建了一个方法(objectPromise),它返回一个Promise
function myObject(){
this.number = 2;
this.objectPromise = function(data) {
return new Promise((resolve, reject) => {
if (data == this.number) {
resolve();
} else {
reject();
}
});
};
};
然后我有这个代码 1)
obj = new myObject();
myPromise1
.then(obj.objectPromise)
.then(function(result){
})
.catch(function(err){
});
2)
obj = new myObject();
myPromise1
.then(function(result){
obj.objectPromise(result)
})
.then(function(result){
})
.catch(function(err){
});
我不明白为什么 1)没有打电话给我的承诺
答案 0 :(得分:0)
对于 1),您将使用此行.then(obj.objectPromise)
返回该函数,而不是承诺本身,因此它实际上从未被调用。
基于 1)和 2),如果myPromise1正在返回result
,如果我正确理解了问题,我认为您正在寻找更多的东西:
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')
});