簡體   English   中英

Promise.prototype.then內的Javascript函數不執行

[英]Javascript function inside Promise.prototype.then not executing

我使用的是Javascript promise API,但是我的函數沒有執行;

//defining a class Test
var Test=function(){
    var x="hello from x";
}

//Adding a method with Test class
Test.prototype.someFn=function(){
   console.log("This is from somefn");
}

//Adding another function    
Test.prototype.anotherFn=function(){
   var self=this;
   var p=new Promise(
      function(){
         self.someFn();
   })

   p.then(
       function(){
            console.log("From anotherfn p.then");
   })
 }

最后以以下方式調用它:

var t=new Test();
t.anotherFn();

輸出就像;

This is from somefn

為什么未打印“ From anotherfn p.then”。 請提出任何建議。

您永遠無法兌現承諾。

更改

var p=new Promise(
  function(){
     self.someFn();
})

var p = new Promise(function(resolve, reject) {
     self.someFn();
     resolve();
});

請參閱在MDN中創建承諾

請注意,您不應將同步函數包裝在promise中。 假設someFn將是異步的,那么應在那一點上返回諾言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM