Reputation: 49
<button class="button is-link" type="submit"
onclick="matching('<%= product.id %>')">Define</button>
The HTML of the button.
<script>
async function matching(productID) {
var r = confirm("Define preference?");
if (r) {
alert("testing1")
var thatProduct = await PriceTracker.findOne(productID);
alert("testing2")
if (thatProduct) {
alert("Have that product");
location.assign("/");
} else if (response.status == 409) {
var e = await response.json();
alert(e);
} else if (response.status == 404) {
var e = await response.json();
alert(e);
}
} else {
alert(response.statusText);
}
}
</script>
This is the code for a matching function with the sails framework.
When I click a button, the matching function will be called.
The confirm box can be displayed. When I click 'ok', the alert message of "testing1" can also be displayed, while the second alert message "testing2" could not display, and hence the "if condition" cannot be reached as well.
How can I get that product from my database for further usage?
Upvotes: 0
Views: 60
Reputation: 206
await won’t work in the top-level code
Change your matching
function into this
var matching = (async (productID) => { try { ... } catch (e) { // handle the error ... } })();
Upvotes: 1