小编Noi*_*art的帖子

拒绝承诺,何时不知道父变量

我有这个承诺我在这里简化了代码,但我无法拒绝它promise0.在下面的示例中,renameProfile首先读取包含所有配置文件信息的文件,然后在读取之后,它会尝试重命名它,这是在没有承诺的情况下完成的.所以在示例中readFile是成功但重命名文件过程失败.然而它并没有拒绝.

我正在使用Promise.jsm https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm

function doit() {
    var promise1 = renameProfile(1);
    promise1.then(
        function () {
            console.log('promise1 success');
        },
        function onReject(rsn) {
            console.log('promise1 failed rsn = ' + rsn);
        }
    );
    return promise1;
}

function renameProfile(readFileFirst) {
    if (readFileFirst == 1) {
        console.log('doing read file first');
        var promise2 = readFile();
        promise2.then(
            function () {
                console.log('promise2 success - read file success will now rename the profile');
                return renameProfile(0);
            },
            function (rsn) {
                console.log('promise2 failed - read file …
Run Code Online (Sandbox Code Playgroud)

javascript firefox-addon promise

0
推荐指数
1
解决办法
145
查看次数

修改文件内的目录时kqueue不会触发

我使用kquque来监控桌面:

  • flags - EV_ADD | EV_CLEAR
  • fflags - NOTE_DELETE | NOTE_WRITE | NOTE_EXTEND | NOTE_ATTRIB | NOTE_LINK | NOTE_RENAME | NOTE_REVOKE
  • filter - EVFILT_VNODE

但是,当我.js使用sublime2软件在桌面上编辑文件时,它不会触发通知:(

请指教

这是我的js-ctypes代码:

var rez_fd = ostypes.API('kqueue')();
console.info('rez_fd:', rez_fd.toString(), uneval(rez_fd));
if (ctypes.errno != 0) {
    throw new Error('Failed rez_fd, errno: ' + ctypes.errno);
}

this.kq = rez_fd;
this.path = OS.Constants.Path.desktopDir;

// Open a file descriptor for the file/directory that you want to monitor.
var event_fd = ostypes.API('open')(this.path, OS.Constants.libc.O_EVTONLY);
console.info('event_fd:', event_fd.toString(), uneval(event_fd));
if (ctypes.errno != …
Run Code Online (Sandbox Code Playgroud)

c macos bsd kqueue

0
推荐指数
1
解决办法
750
查看次数

ES6迭代解构

我试图从一组对象创建一个数组.我想从每个对象中获取父亲的名字.例如:

var people = [
  {
    name: "Mike Smith",
    family: {
      father: "Harry Smith",
    }
  },
  {
    name: "Tom Jones",
    family: {
      father: "Richard Jones",
    }
  }
];

var fathers = [];
for (var {family: { father: f } } of people) {
  console.log("Father: " + f);
  father.push(f);
}
Run Code Online (Sandbox Code Playgroud)

反正有没有在es6中没有循环的情况下制作fathers阵列people

javascript ecmascript-6

0
推荐指数
1
解决办法
109
查看次数

Switch语句中单个案例中的多条准则

大家好我搜索并发现像2008年的旧答案,我为新的浏览器创建firefox插件,所以我可以使用ecma 5+.

我试图做一个有一个块满足多个条件的开关,如if> = 0 && <= 3,如下所示:

switch (blah) {
     case 0, 1, 2, 3: //<<<<<<<< this here please
          //do this;
          break;
     default:
          ///do this
}
Run Code Online (Sandbox Code Playgroud)

这只是一个基本的例子.

我想要多个值来触发相同的情况.我该怎么做呢?

javascript switch-statement

-1
推荐指数
1
解决办法
3562
查看次数

这是全球性的吗?

我正在尝试理解这个函数并将其转换为ctypes:

15 XDisplay* GetXDisplay() {
16   static XDisplay* display = NULL;
17   if (!display)
18     display = OpenNewXDisplay();
19   return display;
20 }
Run Code Online (Sandbox Code Playgroud)

我们在这里看到if(!display)然后做了display = OpenNewXDisplay();但是令我困惑的是那个人在它上面的行上定义的displayNULL(static XDisplay* display = NULL;)所以为什么在地球上需要if,如果他只是将它设置为null?以某种方式显示一个全局变量?

c ctypes

-1
推荐指数
1
解决办法
74
查看次数