× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



what I did (and it's probably wrong) was make those functions use
callbacks and then:

The collecting of a grouping of async things can be done for you with
things like Promise.all(). Even before Promises became a formal feature of
Javascript you could do it with external libraries like BlueBird.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

With Promises you could also create code that operated in sequential
fashion. These were the ways before async/await. My opinion is that
async/await should be used at this point because it cleans up the syntax so
much.


Aaron Bartell
IBM i hosting, starting at $157/month. litmis.com/spaces


On Mon, Mar 19, 2018 at 11:45 AM, Bradley Stone <bvstone@xxxxxxxxx> wrote:

On Mon, Mar 19, 2018 at 11:05 AM, Henrik Rützou <hr@xxxxxxxxxxxx> wrote:

Nathan,

you don't have to code async if there is no need for that - a simple
batch
process
that runs in its own instance hasn't other to compete with (so why
async?)-
so you
code that sync - exactly as you are used to.

be aware of that nearly all async functions in node has a sync
counterpart

const fs = require("fs")
fs.readFile <> fs.readFileSync
fs.writeFile <> fs.writeFileSync etc.


But the synch ones aren't supported or updated any more.. which is why IBM
suggest you use asynch.. which is weird. That's like every call to a
program, subprocedure or function is submitted to batch.. sometimes synch
is good.

I already had started a package to make db easier with node, and the
updates to asynch broke that.. what I did (and it's probably wrong) was
make those functions use callbacks and then:

myStuff.getResultSet(sql, function(rs) {
resultSet = rs;
finish();
});

myStuff.getFieldDescriptions(function(cl) {
columnList = cl
finish();
});

function finish() {
if (resultSet && columnList) {
// everything is done... so go ahead here and do whatever
}
}
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/web400.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.