美文网首页
JS中同步心得

JS中同步心得

作者: 许彦峰 | 来源:发表于2018-07-16 15:54 被阅读0次

不使用co模块

异步代码

getProjectProfile() {
    console.log("2");
    return new Promise(function (resolve, reject) {
        console.log("3");
        Editor.Profile.load('profile://project/project.json', (error, profile) => {
            console.log("4");
            if (error) {
                return reject(error);
            }
            resolve(profile);
            return profile;
        });
    });
},

2种方式

  • then 实现同步
console.log("1");
this.getProjectProfile().then(profile => {
    console.log(profile);
});
console.log("5");
  • async 实现同步
(async ()=>{
    console.log("1");
    let p = await this.getProjectProfile();
    console.log(p);
    console.log("5");
})();

co模块实现同步(co+yield)

异步代码

child_process.execPromise = function (cmd, options, callback) {
    return new Promise(function (resolve, reject) {
        child_process.exec(cmd, options, function (err, stdout, stderr) {
            // console.log("执行完毕!");
            if (err) {
                console.log(err);
                callback && callback(stderr);
                reject(err);
                return;
            }
            resolve();
        })
    });
};
co(function(){
    yield child_process.execPromise(cmd, null, function (err) {
        this._addLog("出现错误: \n" + err);
    }.bind(this));
});

相关文章

  • JS中同步心得

    不使用co模块 异步代码 2种方式 then 实现同步 async 实现同步 co模块实现同步(co+yield)...

  • JS中的同步异步

    目录 1. 在JS中,什么是同步异步? 2. JS中常见的异步代码 1. 在JS中,什么是同步异步? 通俗解释一下...

  • javascript的同步异步编程

    js中的同步和异步 同步js是单线程的,浏览器只会分配一个js引擎线程,用来执行js代码,当其执行代码时,js一次...

  • js同步与异步编程

    JS是单线程的:js傻,做着当前的事,没完成之前,绝不会做下一件事。 JS中的两种编程思想:同步、异步。 1、同步...

  • WKWebView OC与JS交互 同步返回值

    WKWebView OC与JS交互 同步返回值 以下主要讲WKWebView中OC与JS交互,UIWebView这...

  • 怎么来理解Js是单线程的这句话?

    Js是单线程指的是执行Js代码的只有Js引擎主线程。Js在js引擎中同步执行,永远都是运行执行栈最顶部的代码。那么...

  • Promise 解析和事件循环机制

    js单线程(线程中拥有唯一的一个事件循环) js分为同步任务和异步任务,同步任务都是在主线程上执行。当一个任务执行...

  • vue这样引入高德地图

    引入高德地图一般最常使用同步方式,直接放在index.html中的head中引入js文件。 这种引入方式叫同步加载...

  • node学习笔记(四十二)

    一、前端EventLoop 1、什么是eventLoop? 同步任务和异步任务在js中是如何执行的呢?js的代码运...

  • js事件循环

    在js代码中,除了同步代码,就是异步代码,一个js文件是从上往下执行,遇到ajax,点击事件。settimeout...

网友评论

      本文标题:JS中同步心得

      本文链接:https://www.haomeiwen.com/subject/hwsbpftx.html