简体   繁体   中英

How to create Async Task in JavaScript

In my android application, i have called one javascript method from html page to java page.

 this.start = function () 
 {       
     try 
     { 
          Mynamespace.myapi.getvalue("myvalue", { 
            onSuccess: function (data) 
            { 
               value= JSON.parse(data);
               alert("called"); 
             }, 
             onFailure: function (error) { } 
          }); 
      } 
      catch (err) { }
      if (value== null) { value= new Object(); 
    };

In the above, getvalue method is called in my java class and returned some values, but before getting the value inside the OnSuccess/OnFailure, the below line is called. How to wait the method up to the callback is called?

if (value== null) { value= new Object(); 
private class LongOperation extends AsyncTask<String, Void, String> 
{
    protected void onPreExecute() 
    { 
        progressDialog = new ProgressDialog(activity.this); 
        progressDialog.setTitle("Processing...");
        progressDialog.setMessage("Please wait...");
        progressDialog.setCancelable(true);
        progressDialog.show();
    }

    protected String doInBackground(String... params) 
    {
        try 
        {
            //Getting data from server
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    protected void onPostExecute(String result) 
    {
        progressDialog.dismiss();
    }
  }

How to call this

ProgressDialog progressDialog;
LongOperation mytask = null;
mytask = new LongOperation();
mytask.execute();

I have analyzed more about my query. Finally i got a solution. String that i have loaded with webview was having more single quotes so unable to load with webview . So instead of calling Success failure callback, the next line is called.

Now I have replaced the single quotes "\\'" by "\\'" in my java class. Working fine. :-)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM