1
我正在玩Windows 8 Metro SDK atm,但在使用WinJS.xhr時遇到了一些麻煩。 如果不是在getData函數中返回WinJS.xhr,而是返回一些json對象,一切正常,但我想返回由xhr請求產生的json對象。返回WinJS.xhr請求結果
這裏我的嘗試有什麼問題?謝謝!! :)
(function() {
"use strict";
function getData() {
return WinJS.xhr({ url: "http://stackoverflow.com" }).done(
function (request) {
var results = [];
var Item = {
title: "title",
text: "some text goes here"
}
results.push(Item);
return results;
},
function (request) {
var results = [];
results.push({ title: "error", text: "error text" });
return results;
}
);
}
var categoryList = new WinJS.Binding.List(getData());
var publicMembers = { itemList: categoryList };
WinJS.Namespace.define("Data", publicMembers);
})();
它沒有意義返回從異步處理結果。 – Pointy
如果我在使用WinJS之前聲明'var results = []'並且之後返回,它根本不會被改變,所以我嘗試了返回的東西。 什麼是正確的方法呢? – ahoereth
你必須讓你的API異步。讓一個函數被傳遞給你的函數,然後從「成功」處理程序中調用它。 – Pointy