javascript - 从另一个文件调用异步函数

标签 javascript react-native

我有一个类,我从它调用 API。但我正在重构代码,我想从另一个文件调用这个函数。 这是我当前在 Screen 类的同一文件中调用的函数。

MyScreen.js

addWishList(product) {
 this.addProductsToWishlist(product);
}


 async addProductsToWishlist(product){
  const loggedCustomerID = await SecureStore.getItemAsync('loggedUserCustomerID');
  const wishListID = await SecureStore.getItemAsync('loggedUserWishlistID');
    try {
      let dataRequest = {
        method: 'POST',
        body: JSON.stringify({
          CustomerID: loggedCustomerID,
          WishlistID: wishListID,
          WishlistProducts: [{
            ProductID: product.ProductID,
            Quantity: 1,
            WebSiteID: 1
          }
          ]

      }),
        headers: HEADERS_API
      }

      const addProductsToWishlistApiCall = await fetch(ADD_PRODUCT_WISHLIST_URL, dataRequest);
      const addProductsToWishlistApiResponse = await addProductsToWishlistApiCall.json();
      console.log(addProductsToWishlistApiResponse.SavedWishlistProductIDs)
      this.setState({wish: !this.state.wish});
      } catch(err) {
        console.log("Error fetching data-----------", err);
    }
  }

如何将此函数放入另一个文件中并从我的屏幕文件中调用它?

最佳答案

您首先需要从函数定义文件中导出它,然后从 MyScreen.js 中导入它。

For more on ES6 import/export .

示例:

//------ lib.js ------
export const sqrt = Math.sqrt;
export async square = (x) => {
    return x * x;
}
export function diag(x, y) {
    return sqrt(square(x) + square(y));
}

//------ main.js ------
import { square, diag } from 'lib';

(async function() { 
 console.log(await square(11)); // 121
})()

console.log(diag(4, 3)); // 5

关于javascript - 从另一个文件调用异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60042807/

相关文章:

javascript - 查找特定标签 a

javascript - javascript 对象内的变量和函数作用域

android - 为什么输入字段在 android 中不显示全角?

reactjs - 将 native react 项目上传到 github 存储库的正确过程是什么?

javascript - 无法访问数组

javascript - 每 5 秒重复在一个元素上运行一次 jQuery .click 事件

javascript - 三元运算符、if-else 或逻辑 OR 在 javascript 中更快吗?

Javascript增加对象中变量的值

android - react-native ios app webview 在屏幕关闭时播放静音

React-native,动态渲染按钮点击