📅  最后修改于: 2023-12-03 15:19:49.029000             🧑  作者: Mango
Promises are a popular way of handling asynchronous operations in JavaScript. A promise represents a value that may not be available yet but will be resolved at some point in the future.
To create a new Promise, you can use the Promise constructor. It takes a function with two arguments: resolve
and reject
. The resolve
function is called when the promise is fulfilled successfully, and the reject
function is called when the promise is rejected due to an error.
Here is an example of creating a new Promise:
return new Promise((resolve, reject) => {
// perform some asynchronous operation
// if the operation is successful, call `resolve` with the result
// if the operation fails, call `reject` with an error
})
You can use this pattern to create a new Promise for any asynchronous operation in JavaScript.
To resolve a Promise, you can call the resolve
function with the result of the operation. This will notify any code that is waiting for the promise that the operation has completed successfully.
Here is an example of resolving a Promise:
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('hello world')
}, 1000)
})
In this example, we are using the setTimeout
function to simulate an asynchronous operation that takes 1 second to complete. Once the operation is complete, we call resolve
with the string 'hello world'
. This will fulfill the Promise with that value.
If an error occurs during the asynchronous operation, you can reject the Promise by calling the reject
function with an error object. This will notify any code that is waiting for the promise that the operation has failed.
Here is an example of rejecting a Promise:
return new Promise((resolve, reject) => {
setTimeout(() => {
reject(new Error('something went wrong'))
}, 1000)
})
In this example, we are using the same setTimeout
function to simulate an asynchronous operation that takes 1 second to complete. But this time, we are calling reject
with a new Error
object that contains information about the error that occurred. This will reject the Promise with that error.
Promises are a powerful abstraction for handling asynchronous operations in JavaScript. By using the Promise constructor, you can create new Promises for any operation that may take some time to complete. When the operation is complete, you can resolve or reject the Promise as appropriate. This allows you to write more expressive and maintainable asynchronous code in your JavaScript applications.