Javascript 如何使用承诺作为一种方法?

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

我有一个对象(myObject)。对于这个对象,我创建了一个方法(objectPromise),它返回一个承诺

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')
  });