js怎么将一个异步程序强制转换成同步程序?

jininij 发布于 2014/11/18 20:09
阅读 8K+
收藏 0
一个具体的带有回调函数的异步算法a(data,...,callback),怎样转换成一个同步程序。ReturnCallback=callback((b(a))(data,...))
加载中
0
Arrowing
Arrowing
使用promise
0
做个坏人
做个坏人
不会问问题,你让回答的人怎么回答?
jininij
jininij
就是要求设计一个算法b,对于任何一个已知的异步函数a(data,callback) 和一个已知的回调函数callback,(注:callback的返回的值为未知的CBreturn),使得b(a,callback)返回一个函数d;函数d直接接受data参数,返回CBreturn。求,设计这个算法b。。。。。非要我像出考试题那样解释我的问题么
0
乌龟壳
乌龟壳
异步有啥不好?闭包已经把异步流程间共享的问题解决了,接下来只是感觉上多了一些缩进(函数声明)罢了。
乌龟壳
乌龟壳
回复 @似年 : 父函数需要子函数来控制感觉这个是同步的思路,异步的话父函数转移到子函数后就停止工作了,只保留环境,所有接下来的工作都在子函数中。
jininij
jininij
因为多层回调之后,this和脑子都不够用了,而且我需要在回调函数中控制父函数的输出,需要在父函数中等待并引用子函数的运行结果。用闭包和回调要绕很大的圈子。
乌龟壳
乌龟壳
同时异步的好处是在单线程(无需锁)下实现多任务并行的方法,那么爽的东东~~~
0
自由之信
自由之信

如果你是在客戶端使用js,callback根本就是同步的。如果是在NodeJS里面运行js,你得把EventEmitter改一下。

0
lgscofield
lgscofield
我知道jQuery中Ajax可以设置同步还是异步,sysn:true/false
返回顶部
顶部