我是JavaScript Nativescript的新手。我尝试使用HTTP获取结果,并且我使用alert成功获得结果,但是当我调用此函数时,它将返回空字符串。我尝试其他方法,但结果也一样。我不是写错了代码吗?
模型 - 视图:
function GetResult(url) {
var viewModel = new ObservableArray([]);
viewModel.abc = function() {
http.getString(url).then(function (response) {
return response;
}, function (e) {
return e;
});
};
return viewModel
}
module.exports = GetResult;
pageLoad JS:
var List = new viewModel("http://localhost/test/");
function onPageLoaded(args) {
var page = args.object;
dialogs.alert(List.abc());
page.bindingContext = load;
}
exports.onPageLoaded = onPageLoaded;
答案 0 :(得分:1)
代码没有错。直接调用函数时,它只返回变量viewModel。您发送的http请求是异步的,一旦完成,它就会将响应返回给回调函数:
function (response) {
return response;
}
你没有做错任何事,你只是不是异步思考。别担心,你最终会习惯它。