Jump to content

fetchRemote problems


JeViCo

Recommended Posts

Posted

Hi there! I've recently discovered 2 problems:

1. I can't trigger fetchRemote inside another fetchRemote function. Example:

fetchRemote("http_stuff",function(resp) -- everything OK here
    -- some magic here
    myfunc("some_args")
end)

function myfunc(args)
  fetchRemote("httpStuff_x2",function(resp2) print("done x2") end) -- it won't trigger but i'll see 'done x2' message
end

2. i can't store information into variables inside fetchRemote func. Example:

local variable
fetchRemote("http_stuff",function(resp) -- everything OK here
    variable = resp
    print(variable) -- OK
end)

print(variable) -- nil

I don't know what to do ?

  • Moderators
Posted (edited)

@JeViCo

The syntax:

bool fetchRemote ( string URL[, string queueName = "default" ][, int connectionAttempts = 10, int connectTimeout = 10000 ], function callbackFunction, [ string postData = "", bool postIsBinary = false, [ arguments... ] ] )

 

Problem 1

Always be called

The callback function will always be called, even if there is an error.

function myCallback( responseData, errno )
	if errno == 0 then

 

 

Problem 2

Execution order:

 

Line: 1

local variable

Line: 2

fetchRemote("http_stuff",

Making a network request.

 

Line: 6

 

Line: 7

print(variable) -- nil

 

-------------------------------------------------------------------------------------------------

---------- Waiting for the network request to be finished ----------

-------------------------------------------------------------------------------------------------

 

Line: 2

function(resp)

Callback function will be called after a delay. The delay can be long or short, depending on the response. If not response, it will be called eventually with an error.

 

connectTimeout: Number of milliseconds each connection attempt will take before timing out

https://wiki.multitheftauto.com/wiki/FetchRemote

 

Line: 3

 variable = resp

Line: 4

    print(variable) -- OK

Line: 5

end)

 

Callback functions in combination with the network are always async. The code doesn't wait for these callback functions.

 

 

Edited by IIYAMA

Do you want to improve your Lua programming skills and make less mistakes?   Start with Lua Language Server!   ?

 

  Useful functions  3x 

  Tutorials  4x 

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...