我正在尝试使用JSON.parse方法,但是不幸的是没有运气。这是我的尝试:

Promise.promisify(JSON.parse, JSON)(data).then((result: any) => {...

但我收到以下错误

Unhandled rejection Error: object

最佳答案

Promise.promisify 被认为是带有回调函数的异步函数。 JSON.parse没有这种功能,因此您不能在此处使用promisify

如果要从可能同步throw的函数中创建一个 promise 返回函数,则 Promise.method 是可行的方法:

var parseAsync = Promise.method(JSON.parse);
…

parseAsync(data).then(…);

另外,您只想使用 Promise.resolve 来开始您的链:
Promise.resolve(data).then(JSON.parse).then(…);

关于javascript - 如何使用bluebird正确地散布JSON.parse方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32309392/

10-16 03:11