make a pledge without using the constructor or keywords for resolving or rejecting

Can a promise be created without using the constructor new promise() or =>resolve & =>rejected? Let's explore an alternative method below.

export function getItById(id) {
  return fetch(`path`, {
    method: 'GET',
  }).then(rslt => {
    if (!rslt || !rslt.ok) {
      throw new Error('failure !');
    } else {
      return rslt.json();
    }
  });
}

Answer №1

It seems like everything is in order, but I might be overlooking something. The getItById function indeed returns a promise, so there is no necessity to instantiate one.

When utilizing the function, simply use

getItById(2).then(results => {
  console.log(results)
})

In response to the query "is it possible to create a promise without using new promise," the answer is affirmative. Every HTTP call, database call, file read, or write operation returns a promise.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Firefox MediaSourceExtension now has enhanced mp3 support

Currently exploring the integration of adaptive and progressive audio streaming in the browser without the need for plugins. MSE is the HTML5 API that I've been anticipating, now available in FF 42. However, I'm encountering issues with audio fo ...

Generating Angular select options dynamically using ng-repeat

I've been struggling for several days now with ngOptions and ngRepeat. I am trying to create a select option for a people control. The REST service is returning an array as shown below. Despite trying various solutions from Stack Overflow and the Angu ...

What is the best way to define a list of floating point numbers in Realm for JavaScript?

Recently, I experimented with a schema using realm-js library that included the following properties: floatArray: {type:'list', objectType:'float'} However, I encountered an error message stating "Schema validation failed ...

Guide on fetching live data from mysql database in angularjs

How can I dynamically load database users into a select box using Angular? <div ng-app="myapp" ng-controller="myctrl" class="centered"> <label>Select User</label> <select ng-model="selectedItem" ng-options="item.name for item in ...

Hello, I'm experiencing an issue with the dynamic append tag in jQuery

This is the code I'm working on: I am trying to resize either .modal-left or .modal-right, but the function doesn't seem to be working. Interestingly, it worked when I executed it in the browser console. I suspect that this issue may be caused ...

Tips for creating horizontal dividers with CSS in Vuetify using <v-divider> and <v-divider/> styling

Currently, I am working on a project using Vue.js and adding Vuetify. However, I need to use a component. .horizontal{ border-color: #F4F4F4 !important; border-width: 2px ; } <v-divider horizontal class=" horizontal ...

What causes the toggle effect in my jQuery onclick function to alternate between on and off when the initialization is repeated multiple times?

I am facing an issue with my website where icons/buttons trigger a menu when clicked. I need to load more data by adding more buttons, so I tried re-initializing the existing buttons using a jQuery onclick function whenever the number of buttons changes. ...

Issue with Angular: Unable to properly sort data while modifying queryParams

Within the component.ts file: export class TabsComponent implements OnInit { constructor( private store$: Store<UsersState>, private router: ActivatedRoute ) {} ngOnInit(): void { this.onFilterByIncome(); this.router.queryParam ...

Is it possible to initiate an animation in a child component using an input variable?

I have a specific animation that I would like to trigger once an *ngFor loop completes ngAfterViewInit(): void { this.items.changes.subscribe(() =>{ Promise.resolve().then(() => { this.everythingLoaded(); }) }) } After the loop fini ...

What is the method for creating one div to overlap another using CSS?

I'm attempting to create a dropdown menu using a list, but the list is only partially visible as it is being obscured by other elements. How can I adjust the layout so that it overlaps these elements? HTML <div id="mph"> <button type="b ...

implement adding a division element to the DOM using the append

I am facing an issue with this particular code. The intended functionality is to create multiple divs in a loop, but it seems to be dysfunctional at the moment. Upon clicking, only one div appears and subsequent clicks don't trigger any response. < ...

Encountering complications while attempting to integrate Ng-SweetAlert-2 into AngularJS

Concerning this particular project After following the installation process outlined in the description, I encountered an error: Error: [$injector:unpr] Unknown provider: 19degrees.ngSweetAlert2Provider <- 19degrees.ngSweetAlert2 <- prkctrl` I hav ...

Switch the visibility of a div tag using Next.js

Script export default function Navigation(){ let displayMenu = false; function toggleMenu() { displayMenu = !displayMenu; } return ( <> <button onClick={toggleMenu}>Toggle Navigation</button> {/*This code sh ...

Form submission failure due to ajax

I have been developing a file sharing service, but I encountered a problem. Despite selecting a file, AJAX is not recognizing this selection and the file is not automatically being uploaded. Consequently, the response is not being processed or inserted int ...

Unlocking the Power of res.render in SailsJS's beforeCreate and afterCreate Functions

I am facing a challenge where I need to access the res.render function within the beforeCreate hook to render an html template. However, it seems that the res object is not passed to this particular function. Any suggestions on how I can achieve this? Bas ...

Exploring the Process of Obtaining _Value Properties within Vue 3 Ref

Hello, I've been attempting to access the values from the _value property in Vue without success. How can I retrieve these values such as accessKey, align, ariaAtomic, etc.? Specifically, I am interested in getting the value of clientWidth. https://i ...

What is the best way to design a drop-down suggestion list similar to Google's?

This question is still in the theoretical stage, but it's something I'm definitely considering for the long run. When you visit google.com and type in a search query, the site provides suggestions in a dropdown menu. I'm pretty sure they use ...

Creating dynamic textures through the use of canvas and Three.js rotation

I am attempting to rotate a texture on a single face of a cube using Three.js. Since I am generating the cube multiple times with different textures, I am utilizing a function that creates the material and mesh with a texture parameter. However, I need t ...

Having difficulty creating a snapshot test for a component that utilizes a moment method during the rendering process

I am currently testing a component that involves intricate logic and functionality. Here is the snippet of the code I'm working on: import React, { Component } from 'react'; import { connect } from 'react-redux' import moment from ...

Apply geometric principles to the physical world

In an attempt to accurately scale my geometry to match real-world dimensions in my 3D scene, I am facing some challenges. I extract the coordinates of the top left and top right corners of my map, convert them into points using Google Maps projection, an ...