Asnyc callback verarbeiten

  • JavaScript

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von 3daycliff.

    Asnyc callback verarbeiten

    Hi,

    ich habe eine funktion downloadfile, diese ladet eine datei herunter und speichert diese ab und am ende will ich, dass ich den vollen pfad der datei zurückbekomme wo diese abgespeichert wurde.
    leider klappt das nicht so wie ich es mir vorstelle.. ich habe diese funktion um einen parameter "func" erweitert dieser parameter gebe ich eine funktion mit und diese funktion wird dann innerhalb meiner funktion aufgerufen.
    leider steht in meiner console nicht der dateinamen sondern garnichts.

    Quellcode

    1. function downloadFile(file_link, file_name, func) {
    2. console.log("dw start");
    3. window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
    4. fileSystem.root.getFile("dummy.html", { create: true, exclusive: false }, function (fileEntry) {
    5. var sPath = fileEntry.toURL().replace("dummy.html", "");
    6. var fileTransfer = new FileTransfer();
    7. fileEntry.remove();
    8. var furi = encodeURI(file_link);
    9. fileTransfer.download(furi, sPath + file_name, function (theFile) {
    10. func(theFile.toURI());
    11. }, function (error) {
    12. console.log("download failed");
    13. console.log(error);
    14. });
    15. });
    16. });
    17. };
    18. function sync() {
    19. $.getJSON("http://192.168.42.19/katalogeingabe/api/456564/products", function (data) {
    20. var json = JSON.parse(JSON.stringify(data));
    21. $.each(json, function (index, value) {
    22. var image_url = value.product_image;
    23. var fn = value.product_id + image_url.substring(image_url.lastIndexOf("."), image_url.length);
    24. downloadFile(image_url, fn, function (path) {
    25. console.log(path);
    26. });
    27. });
    28. });
    29. };