1
私が経験しています問題が説明するのは少し難しいですが、私は間違っているの約束(角)になっかもしれませんが、それでも...
は私がきれいに次のような状況に対処しようとしています。 一般的には、角度dialogService
にconfirm
メソッドを提供したいとします。これは、yes
ボタンをクリックして確定した約束を返します。これは、確認が実際に成功したときを意味します。しかし、内部のasync
操作(これはyes
確認で実行される)が完了するまで、ダイアログは開いたままにしておきたい。それが正常に終了したら、ダイアログは閉じなければなりません。
:
外コード:
dialogService.confirm('title', 'message').then =>
return myLongLastingOperationReturningPromise()
confirm
メソッドの実装このような何か:他の言葉で
def = $q.defer()
dialog = ngDialog.open(...)
// closePromise or any other custom local promise
dialog.closePromise.then =>
// this is fake, but how can I achieve this?
result = def.resolve('closeRequest');
if(typeof result.then == 'function') {
result.then =>
// continue closing the dialog
} else if (result === false) {
// just do nothing
} else {
// closing the dialog
}
、 resolve
を呼び出した後の約束チェーンの最後のthen
メソッドの結果を取得する方法はありますか?
こんにちは:呼び出し側で
: クリックして 'はい' ボタンは、メソッドYesHandlerを実行しますか? –