调用HTTP函数获取空字符串但成功获取内容

时间:2015-12-01 02:24:49

标签: nativescript

我是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;

1 个答案:

答案 0 :(得分:1)

代码没有错。直接调用函数时,它只返回变量viewModel。您发送的http请求是异步的,一旦完成,它就会将响应返回给回调函数:

          function (response) {
                  return response;
         }

你没有做错任何事,你只是不是异步思考。别担心,你最终会习惯它。