0

こんにちは、 Java Scriptを使用して Windows 8 アプリを使用してい ます。

function fetchFromLiveProvider(currentList, globalList,value) {
    feedburnerUrl = currentList.url,
    feedUrl = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&output=json&num=999&q=" + encodeURIComponent(feedburnerUrl);
        WinJS.xhr({url: feedUrl, responseType: "rss/json"
        }).done(function complete(result) {
                 var jsonData = JSON.parse(result.response);
                    //console.log(JSON.stringify(jsonData));
                 var entries = jsonData.responseData.feed;
               });
    }
function setOther(entries){ 
       //some code here
    }

私がやりたいのは、 fetchFromLiveProvider 関数の エントリをsetOther(entries){}という別の関数に渡すことです。助けてくれてありがとう...

4

1 に答える 1

0

WinJS.xhr は promise を返すため、次のことができます。

var entriesPromise = function fetchFromLiveProvider(currentList, globalList, value) {
    feedburnerUrl = currentList.url,
    feedUrl = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&output=json&num=999&q=" + encodeURIComponent(feedburnerUrl);
    return WinJS.xhr({
        url: feedUrl,
        responseType: "rss/json"
    });
}

function setOther(entries) {
    entries.done(function complete(result) {
        var jsonData = JSON.parse(result.response);
        //console.log(JSON.stringify(jsonData));
        var entries = jsonData.responseData.feed;

        //some code here
    })
}

setOther(entriesPromise);
于 2013-10-21T10:06:40.660 に答える