Javascript承诺返回意外的令牌错误
您好,我正在尝试在nodeJS中使用带有承诺的请求模块 这是我的剧本Javascript承诺返回意外的令牌错误,javascript,node.js,request,promise,Javascript,Node.js,Request,Promise,您好,我正在尝试在nodeJS中使用带有承诺的请求模块 这是我的剧本 require('promise'); var request = require('request'); const requestget = function (url) { return new Promise((resolve, reject) { request(url, function (error, response, body) { if (!error &
require('promise');
var request = require('request');
const requestget = function (url) {
return new Promise((resolve, reject) {
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
resolve(body);
} else {
reject(error);
}
});
});
}
requestget('http://www.modulus.io').then(console.log);
但是我得到了以下错误
/home/xyz/reques.js:14
return new Promise((resolve, reject) {
^
SyntaxError: Unexpected token {
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
我真的不知道这个脚本出了什么问题,任何人都可以帮我解决。在这一行中,您需要确保您正在定义一个函数。您可以使用如下箭头函数执行此操作:
return new Promise((resolve, reject) => {
箭头函数的语法是
(param1,param2)=>{function body}
,这与说函数(param1,param2){function body}
是一样的。您可以阅读更多关于它们的信息。在这一行中,您需要确保您正在定义一个函数。您可以使用如下箭头函数执行此操作:
return new Promise((resolve, reject) => {
箭头函数的语法是
(param1,param2)=>{function body}
,这与说函数(param1,param2){function body}
是一样的。您可以阅读更多有关它们的信息。您正在尝试使用不带箭头的箭头函数
require('promise');
var request = require('request');
const requestget = function (url) {
//Add the arrow on the below line
return new Promise((resolve, reject) => {
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
resolve(body);
} else {
reject(error);
}
});
});
}
requestget('http://www.modulus.io').then(console.log);
您正在尝试使用不带箭头的箭头函数
require('promise');
var request = require('request');
const requestget = function (url) {
//Add the arrow on the below line
return new Promise((resolve, reject) => {
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
resolve(body);
} else {
reject(error);
}
});
});
}
requestget('http://www.modulus.io').then(console.log);
在
函数(解析,拒绝){
或(解析,拒绝)=>{
之间进行选择。这对我很有效。谢谢。我使用的是Node的早期版本。箭头函数在版本~8中着陆。在函数(解析,拒绝){
或(解析,拒绝)=>{
这对我很有效。谢谢。我使用的是Node的早期版本。Arrow函数登录到版本~8。Hi尝试了相同的操作,但出现了类似的错误。“/home/xyz/reques.js:5 return new Promission((resolve,reject)=>{^SyntaxError:Unexpected token>”尝试使用return new Promission(函数(resolve,reject){
。如果您想要最新的功能,如箭头函数,您也可以使用node--harmony运行node,因为它们现在是推荐的方法(保留范围),感谢它的工作原理类似于charmreturn new Promise(函数(resolve,reject)
我仍然不知道为什么=>
函数不起作用您使用的是旧版本的node。如果您使用节点--harmony运行它,您可以使它起作用。我尝试了相同的操作,但遇到了这样的错误。“/home/xyz/reques.js:5返回新承诺((解决,拒绝)=>{^SyntaxError:Unexpected token>'尝试使用返回新承诺(函数(解析,拒绝){
。如果您想要最新的功能,如箭头函数,您也可以使用节点--harmony运行节点,因为它们现在是推荐的方法(以保留作用域)谢谢,它的工作原理类似于charmreturn new Promise(函数(解析、拒绝)
我仍然不知道为什么=>
函数不工作您使用的是旧版本的node。如果您使用节点--harmony
运行它,它就可以工作。仍然会出现以下错误:/home/xyz/reques.js:5 return new Promise((解析,拒绝)=>{^SyntaxError:Unexpected token>at Module.\u编译(Module.js:439:25)at Object.Module.\u扩展..js(Module.js:474:10)at Module.load(Module.js:356:32)at Function.Module.\u启动时加载(Module.js:312:12)at Function.runMain(Module.js:497:10)(node.js:119:16)在node.js:906:3
您可能有一个旧版本的node,升级到node v6之后,您将获得完全支持。如果这不是一个选项,只需使用新承诺(函数(解析,拒绝){//code here});仍然会收到以下错误:/home/xyz/reques.js:5返回新承诺((解析,拒绝)=>{^SyntaxError:Unexpected token>at Module.\u compile(Module.js:439:25)at Object.Module.\u extensions..js(Module.js:474:10)at Module.load(Module.js:356:32)at Function.Module.\u load(Module.js:312:12)at Function.Module.runMain(Module.js:497:10)at Function.js:119:16)在node.js:906:3
中,您可能有一个旧版本的node,升级到node v6之后的任何版本,您将获得完全支持。如果这不是一个选项,只需使用新承诺(函数(解析,拒绝){//code here});