2017-08-13 135 views
0

我无法通过此脚本解决未处理的承诺拒绝。承诺和异步功能对我来说都是新的。 我应该处理拒绝,但不知道如何工作。未处理的承诺拒绝

有人可以帮助我吗?

const rawRequest = async (url, headers, data, timeout) => { 
// Set custom User-Agent string 
headers['User-Agent'] = 'Kraken Javascript API Client'; 

const options = { headers, timeout }; 

Object.assign(options, { 
    method : 'POST', 
    body : qs.stringify(data), 
}); 

const { body } = await got(url, options); 
reject('reject'); 

const response = JSON.parse(body); 

if(response.error && response.error.length) { 
    const error = response.error 
     .filter((e) => e.startsWith('E')) 
     .map((e) => e.substr(1)); 

    if(!error.length) { 
     throw new Error("Kraken API returned an unknown error"); 
    } 

    throw new Error(error.join(', ')); 
} 

return response; 
}; 

//script 
const response = rawRequest(url, headers, params, timeout); 
console.log(response); 
+0

代码中的某些正确的缩进将帮助我们读取它。 – jfriend00

回答

0

异步函数的结果在你的当时。这样调用你的rawRequest功能(不做响应= rawRequest()):

//script 
rawRequest(url, headers, params, timeout).then(res => { 
//do something with your response 
console.log(res); 
}).catch(e => { 
//handle exception (rejection) 
console.log(e); 
}) 

希望这有助于!

+0

完美地工作,感谢您的快速响应 – Zorrotwee

相关问题