JavaScript 同步调用
javascript synchronous call
用coffeescript编写,但原理是一样的,我调用ps.list和ps.read(从npm注册表中的pslook模块)。这些函数不返回结果,而是调用传递给它们的回调。setTimeout 不是我想做的,但很难想出解决这个问题的方法。有什么想法吗?不确定 IcedCoffeeScript 是否可以以任何方式提供帮助?
ps = require 'pslook'
instances = []
ps.list (err, results) ->
if err then throw err
results.forEach (result) ->
ps.read result.pid, (err, process) ->
if err then throw err
instances.push process.cmdline
, 'fields': ps.ALL
, 'search': /^ssh/
setTimeout ->
console.dir instances
### Do lots more stuff here with the list of instances that I don't want to be nested within calls to ps.list / ps.read
, 500
等待调用所有回调的简单计数器呢?
未经测试的示例:
ps.list (err, results) ->
if err then throw err
waitingFor = results.length
results.forEach (result) ->
ps.read result.pid, (err, process) ->
if err then throw err
instances.push process.cmdline
waitingFor -= 1
goOn(instances) if waitingFor == 0
, 'fields': ps.ALL
, 'search': /^ssh/
goOn (instances) ->
console.dir instances
相关文章:
- 同步调用,直到用户通过angular验证为访问者
- ajax调用获胜't同步执行
- 如何模拟同步ajax调用?(基于异步的同步)
- 同步(阻塞)ajax调用是否可以阻塞浏览器'的UI
- 如何使用javascript中的生成器模拟同步调用
- 使用模态库从嵌套的异步调用中生成javascript同步代码
- node.js,async,restify:无法使restify调用在async.series内同步
- 使用同步ajax调用加载屏幕
- 在 Javascript 中调用是同步的
- 异步函数调用是否可以在两个同步语句之间完成
- 使Javascript调用同步
- 如何使 Nodejs 调用同步,然后我可以轻松使用它
- 如何在 Node.js 中强制调用同步
- 如何(真的!)使JavaScript异步调用同步(在Chrome上)
- 从外部JS文件调用同步函数
- Javascript/jQuery ajax调用同步的常用实践
- jQuery ajax调用同步vs异步
- 应该由Promise调用同步代码.然后创建一个新的Promise
- 什么'是在使用Flux时保持UI与ajax调用同步的惯用方法
- 无法在javascript中调用同步函数