ので、戻り値を取得するための約束を使用し、私はそうのようなPromise<T>
でページメソッドをラップ:ページメソッドを中止だけでなく、
return new Promise<T>((done, fail) =>
window.PageMethods.SomeMethod(arg1, arg2, done, fail)
);
(それよりもう少し複雑、それは基本的にはこれだけです)
しかし、私がしたいことは、ページメソッドを中止することもできるということです。これは代わりにwindow.PageMethods._staticInstance.SomeMethod
を呼び出すことによって行われ、ページメソッドを中止するために使用できるリクエストオブジェクトを返します。次のようなものがあります。
const request = window.PageMethods._staticInstance.SomeMethod(arg1, arg2, done, fail);
...
const executor = request.get_executor();
if (executor.get_started())
executor.abort();
それは私が約束のうち、要求を取得することはできませんが、私はまた、約束の中からページメソッドを呼び出していないことはできません
return new Promise<T>((done, fail) => {
const request = window.PageMethods._staticInstance.SomeMethod(arg1, arg2, done, fail);
// do what with request???
});
...私はそれはおそらく推測され、これまで不可能と感じています。クロージャー・トリックか2つの約束を使ってこの問題を回避することができる可能性は少し低いかもしれませんが、これまでのところそれを把握することはできませんでした。