私はVisual Studio CodeでTypeScript 2.3.2を使用しています。私はそれを使用してSharePointバックエンドのフロントエンドクライアントを作成しています。コールからJSONオブジェクトを取得できるようにするSPServices(http://sympmarc.github.io/SPServices/)というSharePoint jQueryプラグインがあり、このメソッドは$ .Deffered()オブジェクトを返します。 SPServicesロジックは、(resolveWithを呼び出し)、それのようになりますSharePointのクエリからの結果を渡します。ここではTypeScript jQueryはパラメータを解決しないことを約束します
var thisResult = {
changeToken: newChangeToken,
mapping: thisListJsonMapping,
data: jsonData,
deletedIds: deletedIds
};
result.resolveWith(thisResult);
を解像度を処理するための私のコードです:
$.when(promise)
.then(res => {
let me = this;
debugger;
});
これは、数回繰り返した後でコードの試行。 「res」は決して割り当てられません。これはtypecriptのコンテキストがクラスです。これはChromeでブレークポイントに達したときに表示されます。コンソールで "this"をチェックすると、先にresolveWith()に渡されたオブジェクトが表示されます。
私が見たすべてのチュートリアルでは、 "thisResults"のJSONオブジェクトにresを割り当てる必要があると言われています。どんな考えが間違っていて、なぜこれが整列しないのでしょうか?
編集:私はフォールバック計画があったので、以下の回答で作業した後、いくつかの追加テストを行った。 SPServicesライブラリを編集しての代わりにresult.resolve(thisResult);
に変更すると、オブジェクトは適切にラムダに返されます。
'result'と' promise'はどこから来たのですか?彼らは同じではありませんか?私は '$ .when(result).then(reply => ...)'のようなものでなければならないと思います。 – Granga