2016-05-17 38 views
-1

我的代碼是這樣做的:如何從簡單函數返回AngularJS承諾?

wordFormRowClicked = (wf): ng.IPromise<any> => { 
    var self = this; 
    if (this.wordFormIdentity != wf.wordFormIdentity) { 
     return self.wordFormUpdate(wf).then(() => { 
      this.wordFormIdentity = wf.wordFormIdentity; 
     }) 
    } 
} 

self.wordFormUpdate返回的希望,但是當if條件不匹配,那麼不返回任何承諾。

如何在這種情況下返回承諾?

回答

2

假設wordFormUpdate的最後返回它的承諾:

wordFormRowClicked = (wf): ng.IPromise<any> => { 
    var self = this; 
    if (this.wordFormIdentity != wf.wordFormIdentity) { 
     return self.wordFormUpdate(wf); 
    } 
} 

您可以運行你的函數爲:

wordFormRowClicked(someParam).then(() => { 
    this.wordFormIdentity = wf.wordFormIdentity; 
}); 
1

只需創建一個承諾,並在功能

if (...) { 
    return ... 
} 
return new Promise(...) 
+0

謝謝。 (...)裏面的內容我只想返回一個承諾,表明操作已完成。 –

+0

@SamanthaJ - 立即解決我所承諾的承諾的功能。 – Quentin