使用 nodejs 获取印象笔记的提醒

get evernote's reminder with nodejs

我想使用 javascript 获取印象笔记的提醒。搜索和 asking,我得到了以下代码:

var token = 'yourToken':
var Evernote = require('evernote');

const nFilter = new Evernote.NoteStore.NoteFilter({
  words: "reminderOrder:*",
  ascending: true,
});

const rSpec = {};
rSpec.includeTitle = true;

var client = new Evernote.Client({token: token, sandbox: false});
var noteStore = client.getNoteStore();

noteStore.findNotesMetadata(nFilter, 0, 50, rSpec, function(notesMetadataList) {
  console.log("Found " + notesMetadataList.notes.length + " notes with `reminderOrder` set.");
  console.log();
  console.log("Here are their titles: ");

  for (var i in notesMetadataList.notes) {
    console.log("\t" + notesMetadataList.notes[i].title);
  }
});

一切顺利,直到最后一部分:noteStore.findNotesMetadata(...。我收到此错误:

(node:1) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): #<ThriftException>
(node:1) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

这是我的第一个 nodejs 代码,所以我不知道我做错了什么...

我不确定您使用的 Evernote 是哪个版本,但最新版本使用的是 promises,您应该改用这样的函数:

noteStore.findNotesMetadata(nFilter, 0, 50, rSpec).then(function(notesMetadataList) {
    console.log("Found " + notesMetadataList.notes.length + " notes with `reminderOrder` set.");
    console.log();
    console.log("Here are their titles: ");

    for (var i in notesMetadataList.notes) {
      console.log("\t" + notesMetadataList.notes[i].title);
    }
  }).catch(function(err){
      console.log('Error:',err);
  });

您链接的要点已有 2 年历史,很可能使用了回调。