0

我正在尝试运行如下所示的脚本:

const response =  await request.getAsync(channelAPI);

  let responseData = JSON.parse(response[0].body);

但是,当我在一台机器上运行它时,它可以工作,而另一台只是将响应作为对象返回,我不需要 [0]。

到底是怎么回事?我之前也遇到过同样的问题,两台机器都在查看同一个 package.json 那么问题是什么?

4

1 回答 1

1

假设您使用的是 Bluebird,我想问题是这样的:

http://bluebirdjs.com/docs/new-in-bluebird-3.html

两个 promisification (Promise.promisifyPromise.promisifyAll) 方法,Promise.fromCallback现在默认忽略传递给回调适配器的多个参数,而只使用第一个参数来解决 promise。2.x 中的行为是构造一个参数数组,并在将多个参数传递给回调适配器时用它来解决 Promise。

因此,您的两个环境中似乎有不同的主要版本的 Bluebird。

于 2017-10-18T06:26:00.193 回答