console.log是否是api's返回内容的唯一选项?

Is console.log the only option for api's that return with content

本文关键字:唯一 选项 返回 是否是 log api console      更新时间:2023-09-26

我目前正在使用https://www.npmjs.com/package/vgd这似乎工作得很好…但只会工作,如果我登录到控制台,我正试图使链接,它缩短返回到一个警报。

例如:

vgd.shorten('http://google.com', function(res) {
this.reply(res); //Should reply a shorteneed version of google.com but gives me an error instead.
});

但是当我使用上面的代码时,它不起作用,另一方面:

vgd.shorten('http://google.com', function(res) {
console.log(res);
});

它确实有效。

它为什么这样做?我该怎么解决?

错误:

data:    index.js:8934 -     at /home/ubuntu/workspace/UU/commands/base-uu.js:25:9
data:    index.js:8934 -     at Request._callback (/home/ubuntu/workspace/UU/node_modules/vgd/index.js:6:3)
data:    index.js:8934 -     at Request.self.callback (/home/ubuntu/workspace/UU/node_modules/vgd/node_modules/request/request.js:198:22)
data:    index.js:8934 -     at Request.emit (events.js:110:17)
data:    index.js:8934 -     at Request.<anonymous> (/home/ubuntu/workspace/UU/node_modules/vgd/node_modules/request/request.js:1082:10)
data:    index.js:8934 -     at Request.emit (events.js:129:20)
data:    index.js:8934 -     at IncomingMessage.<anonymous> (/home/ubuntu/workspace/UU/node_modules/vgd/node_modules/request/request.js:1009:12)
data:    index.js:8934 -     at IncomingMessage.emit (events.js:129:20)
data:    index.js:8934 -     at _stream_readable.js:908:16
data:    index.js:8934 -     at process._tickCallback (node.js:355:11)

在回调中,this的值发生了变化。您需要先将this复制到一个变量中。

var that = this;
vgd.shorten('http://google.com', function(res) {
    that.reply(res);
});