使用等待jsmediatags

时间:2018-03-16 11:48:35

标签: javascript node.js async-await

是否可以使用Async await和jsmediatags来获取id3标签?

似乎无法使其正常工作,当前的响应类型很痛苦,

{onSuccess:...,onError:...}

我需要类似的东西,

let tags = await jsmediatags.read(file);

1 个答案:

答案 0 :(得分:3)

如果你想await某事,那么它必须返回Promise。在这种情况下jsmediatags.read(目前),使用回调(onSuccess等)。

如果对您有意义,您可以在回调周围包裹Promise

function awaitableJsmediatags(filename) {
  return new Promise(function(resolve, reject) {
    jsmediatags.read(filename, {
      onSuccess: function(tag) {
        resolve(tag);
      },
      onError: function(error) {
        reject(error);
      }
    });
  });
}

然后你可以await

let tags = await awaitableJsmediatags.read(file);