chapter15中使用generator来实现异步化操作的同步化表达的例子

Posted 一直问

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chapter15中使用generator来实现异步化操作的同步化表达的例子相关的知识,希望对你有一定的参考价值。

在p203中作者给了一个例子,我感觉这个例子写的不好,一开始我没有看懂,因为中间有很多细节没有交代,直到看了第二个用generator来实现ajax的例子之后才有所领悟。
 
所以我把作者给的这个用generator来实现数据加载时显示隐藏提示框的异步操作的同步化表达的例子改了一下,丰富了其中的一些细节。
function* loadUI(){
    showLoadingScreen();
    yield loadUIDataAnsynchronously();
    hideLoadingScreen();
}

function showLoadingScreen(){
    console.log(‘show‘);
}

function hideLoadingScreen(){
    console.log(‘hide‘);
}

function loadUIDataAnsynchronously(){
    console.log(‘loading‘);
    process.nextTick(function(){
        console.log(‘loaded‘);
        it.next();
    });
}

var it = loadUI();
it.next();

 

 

以上是关于chapter15中使用generator来实现异步化操作的同步化表达的例子的主要内容,如果未能解决你的问题,请参考以下文章