2017-02-08 17 views
0

Может быть, я не спрашиваю об этом правильным образом. Я отчасти новичок в Tizen. Вот мой код для tizen.Извлечение и доступ к значению из области Тизен за пределами синхронно

respons = tizen.filesystem.resolve("documents", function(dir) 
       { 
        file = dir.resolve("myfile.txt"); 
        if(file.isFile){     //if file is present then fetch the information. 
        var res_one = file.openStream("r", 
          function(fs) { 
           var my_json = JSON.parse(fs.read(file.fileSize)); 
           fs.close(); 
           res_two = my_json.json_value; 
           return res_two; 
          }, 
          function(e) { 
          console.log("Error " + e.message); 
          return null;//if there is any error then return null 
          }, "UTF-8"); 
        return res_one; 
        } 
        else{ 
        return null; //if file is not present then return null 
        } 
     }); 

В принципе у меня есть файл, присутствующую на моем дисплее (установлен Tizen OS), который содержит JSON: json_value: «Моя информация»

Я пытаюсь извлечь информацию, чтобы использовать это в моей JavaScript код. Я могу получить эту информацию (проверено с помощью console.log). Но он не возвращается в res_one или в ответ.

В краткой форме я хочу получить доступ к этому JSon вне tizen.filesystem.resolve (...

Спасибо заранее.

+0

Если вы сохранили файл в формате JSON в вашей файловой системе ... то как вы хотите получить доступ к этому вне tizen.filesystem.resolve? –

+0

Спасибо за ответ, это требование приятель. Я необходимо использовать сохраненные значения в моей функциональности в скрипте java. –

+0

Что это дает? var my_json = JSON.parse (fs.read (file.fileSize)); –

ответ

0

Я сделал это. В основном это асинхронное поведение JavaScript поэтому у меня есть сделать это с помощью обратного вызова.

function to_fetch_the_value_and_chain_process(passed_function){ 
    tizen.filesystem.resolve("documents", function(dir){ 
         file = dir.resolve("myfile.txt"); 
         if(file.isFile){  //if file is present then fetch the information. 
         var res_one = file.openStream("r", 
           function(fs) { 
            var my_json = JSON.parse(fs.read(file.fileSize)); 
            fs.close(); 
            res_two = my_json.json_value; 
            passed_function(res_two); 
           }, 
           function(e) { 
           console.log("Error " + e.message); 
           passed_function(null);;//if there is any error then return null 
           }, "UTF-8"); 
         return res_one; 
         } 
         else{ 
         passed_function(null); //if file is not present then return null 
         } 
    }); 
} 

funtion passed_function(retrieve_res_two){ 
    alert(retrieve_res_two); 
    //use retrieve_res_two and chain the next code here..... 
} 

to_fetch_the_value_and_chain_process(passed_function); 

 Смежные вопросы

  • Нет связанных вопросов^_^