ここのstackoverflowでこのトピックに関するいくつかの質問を読みましたが、どれも私の疑問に答えていないようです。
process.nextTickを使用して非同期関数を作成する方法を知っています:
var async_function = function(val, callback){
process.nextTick(function(){
callback(val);
});
};
Promiseについても読んだことがありますが、 process 、 Promise などのライブラリを使用せずに、非同期の非ブロック関数をどのように記述しますか?
ネイティブのやり方は?私はこのアプローチについて最初に考えました:
var async = function(val, cb) {
cb(val);
}
ただし、その関数は次をブロックします。
async(3, function(val) {
console.log(val);
});
console.log(4);
// returns:
3
4
では、正しい実装は何ですか?これらのライブラリに依存せずに非同期関数を作成するにはどうすればよいですか?