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