异步 Javascript 函数可以同步调用吗?
虽然异步编程在 Javascript 中很常见,但特定场景可能需要对现有同步函数进行同步调用代码库。尽管承认这种方法的次优性质,但由于时间限制,可能有必要将异步调用改造为更大的同步代码库。
阻塞回调函数
挑战在于阻塞调用函数的执行,直到收到异步函数的回调。关键考虑因素包括:
示例实现:
function doSomething() { var data; function callBack(d) { window.data = d; } myAsynchronousCall(param1, callBack); // Start polling var intvl = setInterval(function() { if (window.data) { clearInterval(intvl); console.log(data); } }, 100); }
重构异步合规性:
但是,值得注意的是,理想的方法剩下的就是修改调用函数并传递回调来处理异步操作。这可以在不牺牲同步代码库功能的情况下保持异步完整性。
function doSomething(func) { function callBack(d) { func(d); } myAsynchronousCall(param1, callBack); } doSomething(function(data) { console.log(data); });
以上是异步 JavaScript 函数可以强制同步执行吗?的详细内容。更多信息请关注PHP中文网其他相关文章!