【发布时间】:2012-06-10 13:41:37
【问题描述】:
我正在使用 Windows 8 Metro SDK atm,但在使用 WinJS.xhr 时遇到了一些问题。 如果不是在 getData 函数中返回 WinJS.xhr,而是返回一些 json 对象,一切正常,但我想返回由 xhr 请求生成的 json 对象。
我在这里的尝试有什么问题?谢谢!! :)
(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);
})();
【问题讨论】:
-
从异步处理程序返回结果没有意义。
-
如果我在使用 WinJS 之前声明
var results=[]并在之后返回它根本没有改变,所以我尝试了返回的东西.. 正确的方法是什么? -
你必须让你的 API 异步。让一个函数传递给你的函数,然后从“成功”处理程序中调用它。
-
Here 是有关该主题的数百个其他类似 StackOverflow 问题之一。
标签: javascript windows winjs microsoft-metro