[Developers] multiple mjt queries
Steve Sak
ssak at appliedminds.com
Wed Nov 7 15:42:06 UTC 2007
That's close but not quite was I was looking for. I'd like to be able
to call the function from javascript external to the div it was defined in.
Nick Shapiro wrote:
> You could put the task inside a mjt.def function, then call the function as many times as you want.
>
> Be careful to define the function before you call it.
>
> For example
> http://dev.mqlx.com/~nick/example.html
>
>
> <div id="top" style="display:none">
>
> <div mjt.def="getmembers(groupId)"> <!-- begin function -->
> <div mjt.task="query">
> mjt.mqlread({
> "type":"/type/usergroup",
> "id":groupId,
> "member":[{
> "id":null
> }]
> })
> </div>
> <div mjt.choose="query.state" mjt.strip="1">
> <div mjt.when="ready" mjt.strip="1"> <!-- process results -->
> <div mjt.for="member in query.result.member">
> $member.id
> </div>
> </div>
> <div mjt.when="wait" mjt.strip="1">
> <div class="loadingMsg">loading report...</div>
> </div>
> <div mjt.when="error" mjt.strip="1">
> Error
> </div>
> </div><!-- finish choose=query.state -->
> </div> <!-- finish function -->
>
>
> <div mjt.script="" mjt.strip="1">
> var groups = ["/freebase/bots", "/freebase/mwstaff"];
> </div>
>
> <div mjt.for="agroup in groups">
> <h1>${agroup}</h1>
> ${getmembers(agroup)} <!-- call function -->
> </div>
> </div><!-- close top div-->
>
>
>
> ----- Original Message -----
> From: "Steve Sak" <ssak at appliedminds.com>
> To: "For discussions about MQL, Freebase API and apps built on Freebase" <developers at freebase.com>
> Sent: Tuesday, November 6, 2007 10:58:38 AM (GMT-0800) America/Los_Angeles
> Subject: Re: [Developers] multiple mjt queries
>
>
> I believe the problem is that I'm refreshing the pane containing the
> href to the query before the query is completed which the causes brower
> to cancel the in-process request. So, how do I rerun a compiled
> mjt.task without reloading and calling mjt.run?
>
>
> Nick Thompson wrote:
>
>> mjt doesn't normally use xhr, so i'm puzzled by the error message.
>> are you using a custom mjt.task type? it sounds like your xhr layer
>> (part of dojo?) might allow only one pending request at a time.
>>
>> usually i just fire off lots of queries and let the browser queue them
>> up in the order they are requested. i've thought about having mjt keep
>> its own request queue so that you could prioritize some queries, but i
>> haven't come up with a use case that would justify the complexity.
>>
>> nick
>>
>> Steve Sak wrote:
>>
>>
>>> Are there any suggestions/best practices for how to run a query multiple
>>> times in rapid succession with a varying parameter. I'm seeing all the
>>> queries except for the last step on each other with a "Error: xhr
>>> cancelled dojoType=cancel message=xhr cancelled" message. I get the
>>> same behavior both when I put the parameters in a list and use mjt.for
>>> to iterate and when I refresh the page the query if on multiple times.
>>> Perhaps a way to vary the task id or run the query synchronously?
>>>
>>> Thanks
>>>
>>>
>>>
>> _______________________________________________
>> Developers mailing list
>> Developers at freebase.com
>> http://lists.freebase.com/mailman/listinfo/developers
>>
>>
>
>
--
Steven G Sak
Applied Minds, Inc.
11718 Bowman Green Drive
Reston, Virginia 20190
o: (703) 483-2207
c: (703) 626-2557
More information about the Developers
mailing list