JavaScript Promiseの本 v1
then を上手く利用できるようにし promiseオブジェクトに変換するという仕組みです。 どのようなものがthenableなのかというと、分かりやすい例では jQuery.ajax()16の返り値 もthenableです。 jQuery.ajax() の返り値は jqXHR Object17 というもので、 このオブジェクトは .then と いうメソッドを持っているためです。 $.ajax('http://httpbin このサンプルコードはjQueryをロードしている場所でないと動きません var promise = Promise.resolve($.ajax('http://httpbin.org/get'));// => promiseオブジェクト promise.then(function(value){ console.log(value); }); jQueryとthenable jQuery.ajax()18の返り値も パティ等を継承しています。 しかし、jQuery 2.x以下では、このDeferred ObjectはPromises/A +やES6 Promisesに準拠したものではありません。 そのため、Deferred Objectをpromiseオブジェクトへ変換できたように見えて、一部欠損す る情報がでてしまうという問題があります。 16 https://api.jquery.com/jQuery.ajax/ 17 http://api0 码力 | 115 页 | 1.06 MB | 1 年前3JavaScript Promiseの本 v2
then を上手く利用できるようにし promiseオブジェクトに変換するという仕組みです。 どのようなものがthenableなのかというと、分かりやすい例では jQuery.ajax()21の返り値 もthenableです。 jQuery.ajax() の返り値は jqXHR Object22 というもので、 このオブジェクトは .then と いうメソッドを持っているためです。 $.ajax("https://httpbin このサンプルコードはjQueryをロードしている場所でないと動きません const promise = Promise.resolve($.ajax("https://httpbin.org/get"));// => promiseオブジェ クト promise.then((value) => { console.log(value); }); jQueryとthenable jQuery.ajax()23の返り値も しかし、jQuery 2.x以下では、このDeferred ObjectはPromises/A +やES Promisesに準拠したものではありません。 そのため、Deferred 21 https://api.jquery.com/jQuery.ajax/ 22 http://api.jquery.com/jQuery.ajax/#jqXHR 23 https://api.jquery.com/jQuery0 码力 | 137 页 | 1.17 MB | 1 年前3
共 2 条
- 1
相关搜索词