Chrome开发工具-javascript代码段测试:“浏览器”;未捕获语法输入意外结束“;最后一行出错
我试图使用Chrome开发工具测试以下代码段,但在代码段的最后一行出现了此错误。。。找不到哪里不对Chrome开发工具-javascript代码段测试:“浏览器”;未捕获语法输入意外结束“;最后一行出错,javascript,code-snippets,Javascript,Code Snippets,我试图使用Chrome开发工具测试以下代码段,但在代码段的最后一行出现了此错误。。。找不到哪里不对 function myPromise1(time1, ok1){ return new Promise((resolve, reject) => { // do stuff 1 async setTimeout(() => { if ( ok1 ) { resolve('stuff-1 worked') } else {
function myPromise1(time1, ok1){
return new Promise((resolve, reject) => {
// do stuff 1 async
setTimeout(() => {
if ( ok1 ) {
resolve('stuff-1 worked')
} else {
reject(Error('stuff-1 failed'))
}
}, time1)
});
function myPromise2(time2, ok2){
return new Promise((resolve, reject) => {
// do stuff 2 async
setTimeout(() => {
if ( ok2 ) {
resolve('stuff-2 worked')
} else {
reject(Error('stuff-2 failed'))
}
}, time2)
});
function myPromise3(time3, ok3){
return new Promise((resolve, reject) => {
// do stuff 3 async
setTimeout(() => {
if ( ok3 ) {
resolve('stuff-3 worked')
} else {
reject(Error('stuff-3 failed'))
}
}, time3)
});
const c1 = '';
const c2 = '';
const c3 = '';
const promise1 = (val11, val12) => myPromise1(val11, val12)
.then(p1Result => {
c1 = p1Result;
return;
}, function(err1) {
console.log('Error: ', err1);
return;
});
const promise2 = (val21, val22) => myPromise2(val21, val22)
.then((p2Result) => {
c2 = p2Result;
return;
}, function(err2) {
console.log('Error: ', err2);
return;
});
const promise3 = (val31, val32) => myPromise2(val31, val32)
.then((p3Result) => {
c3 = p3Result;
return;
}, function(err3) {
console.log('Error: ', err3);
return;
});
const conditionalPromiseFlow = (...fns) => {
if(fns.length === 0) return Promise.resolve()
const [next] = fns;
return next()
.then(result => {
if(result) {
return conditional(...fns.slice(1));
}
return result;
})
}
conditionalPromiseFlow(() => promise1(1000, true), () => promise2(2000, true), () => promise3(3000, true))
.then(() => {
console.log('Status 200 - ALL DONE');
return;
})
.catch((error) => {
console.log('Status ', error.status, ' - ', error.message);
return;
}) <== Error stated here
功能myPromise1(时间1,ok1){
返回新承诺((解决、拒绝)=>{
//异步执行stuff 1
设置超时(()=>{
如果(ok1){
解决('stuff-1已工作')
}否则{
拒绝(错误('stuff-1失败'))
}
},时间1)
});
功能myPromise2(时间2,ok2){
返回新承诺((解决、拒绝)=>{
//异步执行stuff 2
设置超时(()=>{
如果(ok2){
解决('stuff-2已工作')
}否则{
拒绝(错误('stuff-2失败'))
}
},时间2)
});
功能myPromise3(时间3,ok3){
返回新承诺((解决、拒绝)=>{
//异步执行stuff 3
设置超时(()=>{
如果(ok3){
解决('stuff-3已工作')
}否则{
拒绝(错误('stuff-3失败'))
}
},时间3)
});
常数c1=“”;
常数c2=“”;
常数c3='';
const promise1=(val11,val12)=>myPromise1(val11,val12)
。然后(p1Result=>{
c1=P1结果;
返回;
},函数(err1){
console.log('Error:',err1);
返回;
});
const promise2=(val21,val22)=>myPromise2(val21,val22)
。然后((p2Result)=>{
c2=p2结果;
返回;
},函数(err2){
log('Error:',err2);
返回;
});
const promise3=(val31,val32)=>myPromise2(val31,val32)
。然后((p3Result)=>{
c3=P3结果;
返回;
},函数(err3){
log('Error:',err3);
返回;
});
const conditionalPromiseFlow=(…fns)=>{
if(fns.length==0)返回Promise.resolve()
const[next]=fns;
返回下一个()
。然后(结果=>{
如果(结果){
返回条件(…fns.slice(1));
}
返回结果;
})
}
条件承诺流(()=>promise1(1000,正确),()=>promise2(2000,正确),()=>promise3(3000,正确))
.然后(()=>{
console.log('Status 200-ALL DONE');
返回;
})
.catch((错误)=>{
console.log('Status',error.Status',-',error.message);
返回;
})这是测试承诺流的正确代码段。。。
我可以玩主线
当一个承诺被拒绝时,流程停止
function myPromise1(time1, ok1){
console.log('Promise1', time1, ok1);
return new Promise((resolve, reject) => {
setTimeout(() => {
if ( ok1 ) {
resolve('stuff-1 worked');
} else {
reject(Error('stuff-1 failed'));
}
}, time1);
});
}
function myPromise2(time2, ok2){
console.log('Promise2', time2, ok2);
return new Promise((resolve, reject) => {
setTimeout(() => {
if ( ok2 ) {
resolve('stuff-2 worked');
} else {
reject(Error('stuff-2 failed'));
}
}, time2);
});
}
function myPromise3(time3, ok3){
console.log('Promise3', time3, ok3);
return new Promise((resolve, reject) => {
setTimeout(() => {
if ( ok3 ) {
resolve('stuff-3 worked');
} else {
reject(Error('stuff-3 failed'));
}
}, time3);
});
}
let c1 = '';
let c2 = '';
let c3 = '';
const promise1 = (val11, val12) => myPromise1(val11, val12)
.then(p1Result => {
c1 = p1Result;
return;
}, function(err1) {
err1.status = 300;
throw err1;
});
const promise2 = (val21, val22) => myPromise2(val21, val22)
.then((p2Result) => {
c2 = p2Result;
return;
}, function(err2) {
err2.status = 300;
throw err2;
});
const promise3 = (val31, val32) => myPromise3(val31, val32)
.then((p3Result) => {
c3 = p3Result;
return;
}, function(err3) {
err3.status = 300;
throw err3;
});
const conditionalPromiseFlow = (...fns) => {
if(fns.length === 0) return Promise.resolve();
const [next] = fns;
return next()
.then(result => {
if(!result) {
return conditionalPromiseFlow(...fns.slice(1));
}
return result;
});
};
conditionalPromiseFlow(() => promise1(1000, true), () => promise2(2000, true), () => promise3(3000, true))
.then(() => {
console.log('Status 200 - ALL DONE');
return;
})
.catch((error) => {
console.log('Status ', error.status, ' - ', error.message);
return;
});
请尝试正确缩进代码,这应该是非常明显的。myPromise1
没有右括号。实际上,myPromise2
和myPromise3
都没有右括号。谢谢……这是我第一次使用Chrome开发工具片段……我认为在这种情况下,错误会在第一个实例myPromi上声明se1。。。
function myPromise1(time1, ok1){
console.log('Promise1', time1, ok1);
return new Promise((resolve, reject) => {
setTimeout(() => {
if ( ok1 ) {
resolve('stuff-1 worked');
} else {
reject(Error('stuff-1 failed'));
}
}, time1);
});
}
function myPromise2(time2, ok2){
console.log('Promise2', time2, ok2);
return new Promise((resolve, reject) => {
setTimeout(() => {
if ( ok2 ) {
resolve('stuff-2 worked');
} else {
reject(Error('stuff-2 failed'));
}
}, time2);
});
}
function myPromise3(time3, ok3){
console.log('Promise3', time3, ok3);
return new Promise((resolve, reject) => {
setTimeout(() => {
if ( ok3 ) {
resolve('stuff-3 worked');
} else {
reject(Error('stuff-3 failed'));
}
}, time3);
});
}
let c1 = '';
let c2 = '';
let c3 = '';
const promise1 = (val11, val12) => myPromise1(val11, val12)
.then(p1Result => {
c1 = p1Result;
return;
}, function(err1) {
err1.status = 300;
throw err1;
});
const promise2 = (val21, val22) => myPromise2(val21, val22)
.then((p2Result) => {
c2 = p2Result;
return;
}, function(err2) {
err2.status = 300;
throw err2;
});
const promise3 = (val31, val32) => myPromise3(val31, val32)
.then((p3Result) => {
c3 = p3Result;
return;
}, function(err3) {
err3.status = 300;
throw err3;
});
const conditionalPromiseFlow = (...fns) => {
if(fns.length === 0) return Promise.resolve();
const [next] = fns;
return next()
.then(result => {
if(!result) {
return conditionalPromiseFlow(...fns.slice(1));
}
return result;
});
};
conditionalPromiseFlow(() => promise1(1000, true), () => promise2(2000, true), () => promise3(3000, true))
.then(() => {
console.log('Status 200 - ALL DONE');
return;
})
.catch((error) => {
console.log('Status ', error.status, ' - ', error.message);
return;
});