我正在尝试运行如下所示的脚本:
const response = await request.getAsync(channelAPI);
let responseData = JSON.parse(response[0].body);
但是,当我在一台机器上运行它时,它可以工作,而另一台只是将响应作为对象返回,我不需要 [0]。
到底是怎么回事?我之前也遇到过同样的问题,两台机器都在查看同一个 package.json 那么问题是什么?
假设您使用的是 Bluebird,我想问题是这样的:
http://bluebirdjs.com/docs/new-in-bluebird-3.html
两个 promisification (
Promise.promisify
和Promise.promisifyAll
) 方法,Promise.fromCallback
现在默认忽略传递给回调适配器的多个参数,而只使用第一个参数来解决 promise。2.x 中的行为是构造一个参数数组,并在将多个参数传递给回调适配器时用它来解决 Promise。
因此,您的两个环境中似乎有不同的主要版本的 Bluebird。