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

Call HTTP function get empty string but success get content

我是 JavaScript Nativescript 的新手。我尝试使用 HTTP 获取结果并且我成功使用警报获取结果,但是当我调用此函数时它将 return 空字符串。我尝试了其他方法,但结果也一样。是不是我代码写错了?

模型视图:

    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;

页面加载 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;

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

          function (response) {
                  return response;
         }

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